MUSHIKAGO APPS MEMO

Mac版アプリをApple App Store以外で配布する場合に必要な署名の作成方法

Mac版アプリをApple App Store以外で配布する場合に必要な署名は、Team Agent権限を持つ方のApple IDでApple Dev Centerにログインして作成する必要があるようです。

Developer ID証明書を作成し、これを使ってアプリケーションやインストーラパッケージに署名できるのは、Apple Developer ProgramまたはApple Developer Enterprise Programに加入しているチームエージェントに限ります。

Team Agent に限ります」とあります。法人アカウントなどでは、Team Agentはたった一人に限定され、多くの制作スタッフは、「Your Role」が「Admin」という権限になっているかと思います。Admin権限では、App Store以外で配布するMacアプリのために必要な「Developer ID」という選択肢が現れないため、いったいどこでどうやって作るのかを見つけにくい状態にあります。

いろいろ試しましたが、Team Agentの方にはApple Dev Centerでの証明書作成だけをやってもらい、そのほかの技術的な作業はAdmin権限を持つ制作スタッフで行う、という前提で

  1. 制作スタッフ(Admin)のMacのキーチェーンアクセスで「.certSigningRequest」ファイルを用意
  2. Team Agent権限を持つ方にそのファイルを渡す。
  3. Team Agentの方がご自身のApple IDでApple Dev Centerにログイン
  4. 上記の「.certSigningRequest」を使ってDeveloper ID証明書を作成
  5. その証明書ファイル(.cer)ダウンロードして、1の制作スタッフに渡す。
  6. 制作スタッフのMacのキーチェーンアクセスにインストール
  7. 「.p12」ファイルとして書き出しておく(.p12にはパスワードをつけられます)

という流れになりそうです。スクリーンショットをつけて流れをMEMOしておきます。p12ファイルにしておくのは、今後、また別の環境にインストールする場合に上記のような手間を省くためです。

Team Agentの方用の手順は、「Team Agentの方の作業」のリンクを渡して作業してもらいましょう。

スポンサーリンク

制作スタッフ:準備

制作者スタッフ(Admin権限)のMacでキーチェーンアクセスを起動し、証明書アシスタントで「認証局に証明書を要求」を選びます。

Team Agentの方のメアドと氏名を入力します。Admin権限を持つ方であれば、Apple Dev Centerにログイン後、Membershipページを確認すれば、そのTeamのTeam Agent欄に氏名があり、リンク先がメアドになっています。「ディスクに保存」を選択し、続けるで書き出します。

「CertificateSigningRequest.certSigningRequest」というファイルが書き出されます。ファイル名は変えてもOKです。

このファイルをTeam Agent権限を持つ方に渡して、証明書作成の際にこのファイルをアップロードしてもらいます。

Team Agentの方の作業

Team AgentアカウントでApple Dev Centerにログインします。

ログイン後、「Certificates, IDs & Profiles」を選択します。

「iOS, tvOS, watchOS」が選択されているので、「macOS」に切り替えます。

「Mac Certificates」を新規に作成します。(なぜか一度作成したものは、Team Agent自身でも削除できなくなるようです。原因不明)

「Production」部分にTeam Agentでログインした場合にのみ現れる「Developer ID」という項目が出てきます。

次のページで「Developer ID Application」を選択し、まずはアプリケーション用を作ります。あとでインストーラ用も同様の手順で作成することになります。

このページはそのままContinue。

「Upload CSR file」で先ほど、制作スタッフから受け取った「CertificateSigningRequest.certSigningRequest」を選択します。

こうしてまずはアプリケーション用の証明書ファイルがダウンロード可能になります。

「DeveloperID_application.cer」というファイルがダウンロードされます。

同様の手順でインストーラの方も作成します。

「developerID_application.cer」と「developerID_installer.cer」を制作者スタッフに戻します。(妙な仕様ですが、applicationの方は、制作スタッフ(Admin権限)でもこのDeveloperセンターにログインすればダウンロードできます。Installerの方はなぜかAdmin権限ではボタンが押せなくなっています。Agentの方にダウンロードしてもらって送ってもらう必要がありそうです。)

制作者スタッフ:最後の作業

Team Agentの方から受け取った「developerID_application.cer」と「developerID_installer.cer」キーチェーンアクセスにインストールします(最初の作業を行ったMacの同じ環境でやる必要があります)。ダブルクリックするとキーチェンアクセスが起動します。「ログイン」を選択して、「追加」

ここが重要なのですが、最初に「認証局に証明書を要求」をし、CSRファイルを作成したキーチェーンアクセスと同じ環境であれば、Developer ID Applicationという証明書の下に鍵がぶら下がっている状態になるはずです。ここに鍵がない場合は、今までの手順の環境を再確認してください。

鍵がぶら下がっていれば、もうこの環境でOKなのですが、今後、別の環境で同じ環境を作りたい場合など、今までの手間を省くために「.p12」ファイルを作っておくのがいいと思います。パスワードを入力するだけで同じ鍵付き証明書をセットアップできるようになります。鍵部分を選択して、コンテキストメニューを出し、「XXを書き出す」を選択します。

アプリケーション用とインストーラ用に区別できるように「DeveloperID_Application.p12」や「DeveloperID_Installer.p12」のようなファイル名で保存しておくといいと思います。

以上です。