Disappearing Safari Extensions
I’ve received a number of bug reports from customers saying that the extension doesn’t appear in Safari. And when my app calls the API
[SFSafariApplication showPreferencesForExtensionWithIdentifier: completionHandler:]
to show the extension in Safari Preferences, there’s an error “SFErrorDomain error 1”.[…]
My command above forces Launch Services to re-register the Safari app. In order to diagnose the issue, I saved the output of
lsregister -dump
to a file both before and after re-registering Safari. When I compared the files, there were a number of differences, mostly trivial (e.g., timestamps), but one big difference stood out to me. The extension pointcom.apple.Safari.web-extension
appeared in the “after” dump but not in the “before” dump[…][…]
I don’t know what caused the
com.apple.Safari.web-extension
extension point to become unregistered with Launch Services. That’s still a mystery. Obviously this appears to be some kind of OS bug that occurs on Big Sur but not Mojave.
If anything, the bug gotten worse. It’s happening to me rather frequently now. And it continues to happen to other Safari users, not just users of my Safari web extension Tweaks for Twitter, but to users of all Safari web extensions from every developer.
As a reminder, if your Safari web extensions have disappeared, you can restore them with a command in Terminal:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f -R /Applications/Safari.appHowever, this command might not restore your extension data. I’ve found that in some cases, Safari not only forgets the extensions, it also erases the extension storage!
Previously:
1 Comment RSS · Twitter
I just had this happen to me recently and found this same fix on the Apple support forum. Glad to know I’m not the only one who hit this bug.