Developer Tip: Fixing Update Issues
If you’ve been having trouble getting your extension to update properly, the issue probably lies in your update manifest. The sample manifest from Apple’s official documentation has an error (actually, two in close proximity); where the documentation shows:
It should actually be:
Where YourCertificateID is the 10 character string you see in parentheses in the area at the top of the Extension Builder representing your certificate. So if you see:
Safari Developer (A1B2C3D4E5) firstname.lastname@example.org
Your Developer Identifier is A1B2C3D4E5.
Daniel Bergey, the developer of Type-to-Navigate and Invisible Status Bar, also notes that your update manifest (the .plist file) must be served as “text/xml”. “plain/text”, or whatever the default MIME-type is, won’t do.
Finally, if you’re still having trouble, head over to Apple’s official Safari Extensions Developer forums; several members of the Safari team are there answering questions.
(Sincere thanks to Daniel Bergey and an anonymous Safari engineer for these tips.)
EDIT: Rufo Sanchez points out that GitHub serves the update manifest as “plain/text”, and it seems to be working okay. YMMV.