読者です 読者をやめる 読者になる 読者になる

Safari拡張の自動更新方法

Safari extension

次のようなXMLを拡張子.plistで適当な名前で保存して、サーバーにアップします。

<?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.os0x.autopatchwork</string>
       <key>Developer Identifier</key>
       <string>LAM47A73AC</string>
       <key>CFBundleVersion</key>
       <string>1.2</string>
       <key>CFBundleShortVersionString</key>
       <string>1.2</string>
       <key>URL</key>
       <string>http://ss-o.net/safari/extension/AutoPatchWork.safariextz</string>
     </dict>
   </array>
</dict>
</plist>

Developer Identifierは開発者自身のID、CFBundleVersionは拡張のバージョン(実際に表示されるほう)、CFBundleShortVersionStringは内部用バージョン(こっそり更新したいとき用?)です。
あとは機能拡張ビルダーでマニフェストをアップデートのところにサーバーに置いたplistファイルのURLを設定すればOKです。

余談:公式のドキュメントにTeam Identifierって謎の用語があって後回しにしてたのだけど、ドキュメントが間違っていたそうだ。Developer Forumsでも確認できた。