Posts

Post not yet marked as solved
0 Replies
318 Views
I am using safari content blockers to block & unblock specific elements of a website when a user toggles on/off. I was assuming that when user toggles the blocking off & I remove blockings from blockers.json & then do a reload class func reloadContentBlocker(withIdentifier identifier: String, completionHandler: ((Error?) -> Void)? = nil) the user would no longer see the blocks on safari. However, the user still sees unless he/she refreshes the page which doesn't seem the be the best user experience & it'd be annoying to remind user to do so every time. Are there any work arounds to this? Did Apple forgot to add this last step? if we could've reloaded safari itself using swift it would've done the job but I am not aware of such APIs. Really appreciate your help.
Posted Last updated
.
Post not yet marked as solved
2 Replies
541 Views
This is my manifest.json file for my safari extension that I've just developed: { "manifest_version": 2, "default_locale": "en", "name": "BeTimeful", "description": "Never regret going to social media or YouTube again!", "version": "1.0", "icons": { "48": "images/icon-48.png", "64": "images/icon-64.png", "96": "images/icon-96.png", "128": "images/icon-128.png", "256": "images/icon-256.png", "512": "images/icon-512.png" }, "web_accessible_resources": ["images/*", "*"], "browser_action": { "default_popup": "popup/index.html", "default_title": "Betimeful", "default_icon": { "16": "images/toolbar-icon-16.png", "19": "images/toolbar-icon-19.png", "32": "images/toolbar-icon-32.png", "38": "images/toolbar-icon-38.png", } }, "background": { "scripts": ["Libraries/jquery.js","Libraries/raygun.min.js", "js/background.js"], "persistent": true }, "content_scripts": [ { "matches": [ "*://www.betimeful.com/cancel", "*://www.betimeful.com/success" ], "js": ["js/success.js"] }, { "matches": ["*://calendar.google.com/*", "http://blank.org/*"], "js": [ "Libraries/jquery.js", "Libraries/party.min.js", "Libraries/popper.min.js", "Libraries/bootstrap.min.js", "Libraries/purify.min.js", "js/quotes.js", "js/html.js", "js/content.js", "js/actions.js" ], "run_at": "document_start", "css": [ "styles/content.css", "styles/Socialstyles.css", "styles/bootstrap.min.css" ] }, { "matches": [ "*://www.facebook.com/*", "*://www.instagram.com/*", "*://www.linkedin.com/*", ], "run_at": "document_start", "js": ["Libraries/jquery.js","Libraries/raygun.min.js","Libraries/purify.min.js", "js/quotes.js", "js/social_handler.js"] }, { "matches": [ "https://www.facebook.com/" ], "run_at": "document_start", "js": ["Libraries/jquery.js", "js/freemium.js"] } ], "permissions": [ "tabs", "activeTab", "storage", "cookies", "*://betimeful.com/*", "*://www.betimeful.com/*", "https://api.mixpanel.com/*", ] } When I git publish/distribute app, I get: Corrupted manifest file. The manifest.json file could not be read in Safari extension bundle BeTimefulSafari.app/Contents/PlugIns/BeTimefulSafari Extension.appex. Please make sure your manifest.json file contains valid syntax. With error code STATE_ERROR.VALIDATION_ERROR.90848 for id c549-f7-4ef-a52a-20bb I am not sure what's wrong with it as the same manifest works well with the chrome extension that's live in the chrome store nor have I seen any solutions on the web. Appreciate the help.
Posted Last updated
.
Post not yet marked as solved
0 Replies
227 Views
I used to test my safari extension by running it, opening safari, clicking on develop, allow unsigned extension and install it from safari preferences (extension tab). However, ever since I uploaded it to app store connect, it's no longer their in dev mode take screenshot and submit it to store. How can I test it again on my safari?
Posted Last updated
.