とりあえず、マニフェストファイルを用意する。名前は「manifest.plist」とする。
- 上述の plist コードを貼り付ける
- 「機能拡張ビルダー」の「バンドル識別子」の文字列をコピーし、plist コードの「com.yourCompany.safari.yourExtensionName」と置き換える
- 「機能拡張ビルダー」の上部にある「Safari Developer」の括弧内の文字列を plist コードの「YourCertificateID」と置き換える
- 「機能拡張ビルダー」の「機能拡張のバージョン」の「バンドルのバージョン」内の文字列をコピーし、plist コードの「Your current bundle version」と置き換える
- 「機能拡張ビルダー」の「機能拡張のバージョン」の「バージョンを表示」内の文字列をコピーし、plist コードの「Your current display version」と置き換える
- パッケージとしてビルドした Extension ファイル(拡張子:.safariextz)をアップする予定の URL を、plist コードの「Your-.safariextz-URL」と置き換える
「3」の YourCertificateID(Safari Developer ID)は入力するのが面倒な場合は、以下の方法でコピーできる。
- 「アプリケーション -> ユーティリティ -> キーチェーンアクセス」を起動する
- 一覧から「Safari Developer〜」の行で右クリックして「情報を見る」を選択する
- 表示された画面の「詳細な情報 -> サブジェクト名 -> 通称」にある括弧内の文字列を選択してコピー
なお、環境設定画面で自動アップデートとして反応するのは「バンドルのバージョン」だけで、「バージョンを表示」は関係ない。例えば配布している Extension をパッケージ化したときの「バンドルのバージョン」が「1」だとして、manifest.plist の「CFBundleVersion」が「1.1」だとアップデートを促してくれるが、パッケージ化したときの「バージョンを表示」が「1」で、manifest.plist の「CFBundleShortVersionString」が「1.1」でもアップデートは促してくれない。
あと、<dict> で一括りにして、複数の Extensions のマニフェストを 1 つのファイル(ここで言う manifest.plist)に纏められるので、このマニフェストファイルをアップロードする場所は、ある程度意味が共通する名称の方がいいと思う。
さて、このマニフェストファイルを作成し、アップロードした後の手順はこうなる。
- manifest.plist をサーバーにアップする
- 「機能拡張ビルダー」の「機能拡張の詳細」の「マニフェストをアップデート」に、「1」でアップした URL を入力する
- 「機能拡張ビルダー」の「パッケージをビルド...」をクリックして、保存する
- 保存した Extension を前述の「6」で指定した URL にアップロードする
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.