Search code examples
safariplistmanifest

Updating a Safari Extension?


I'm writing a simple Safari Extension, and I'm trying to figure out how to get the update mechanism working. Apple's documentation here is delightfully vague:

https://developer.apple.com/library/archive/documentation/Tools/Conceptual/SafariExtensionGuide/UpdatingExtensions/UpdatingExtensions.html

And here's my manifest, based on that documentation:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Extension Updates</key>
    <array>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>net.rickyromero.safari.shutup</string>
            <key>Team Identifier</key>
            <string>TMM5P68287</string>
            <key>CFBundleVersion</key>
            <string>1</string>
            <key>CFBundleShortVersionString</key>
            <string>1.0</string>
            <key>URL</key>
            <string>http://rickyromero.net/misc/SafariExtensions/ShutUp.safariextz</string>
        </dict>
    </array>
</dict>
</plist>

I don't know where to get "YourCertifcateID," for example. And when I increment the values for CFBundleVersion and CFBundleShortVersionString, it doesn't trigger an update. I know Safari is hitting my manifest though, because I'm watching HTTP traffic.


Solution

  • Team Identifier should be Developer Identifier

    The Developer Identifier is taken from the string at the top of the Extension Builder window, Safari Developer: (DEVELOPER_IDENTIFIER) EMAIL