アプリをリリースするために Provisioning Profile を生成してXcodeへ設定する手順について説明します。
アプリに署名をするためには Provisioning Profile という署名ファイルが必要となり、その生成や設定がかなり複雑なので順を追って説明していきます。
そもそもProvisioning Profileとは何かについてはこちらにまとめてあります。
開発環境
- Xcode 11.5
- macOS 10.15.5
Apple Distribution Certificateの設定、登録
Xcodeに起因する問題かどうか不明ですが、本バージョンのXcodeだとキーチェーンアクセスの「証明書アシスタント」から生成した証明書ではXcodeが以下のエラーとなってしまいうまく動作しませんでした。
Provisioning profile [profile name] doesn't include signing certificate [certificate name]
証明書をXcodeで作成することでエラーを回避できましたので、そちらの方法を紹介します。まず起動したXcodeのメニューからXcode→Preferences..を選択します。
AccountのTabのManage Certificatesを選択します。
証明書の管理画面の左下の+を選択してApple Distributionを選択するとその証明書が追加されます。追加されたことを確認してDoneを選択します。
ここで作成した証明書は自動的にこちらのデベロッパーズサイトにアップされています。
これでCertificateの作成・設定は完了です。
App IDを登録する
アプリケーション固有のIDを設定していきます。先ほど同様Certificates Identifiers & ProfilesのサイトからIdentifiersを選択し、+を選択します。
App IDsをチェックしてContinueを選択します。
Appを選択します。
Descryptionにはアプリの概要を記入します。内容は自分がわかればよく、特に制約はありません。Bundle IDにはXcodeでも指定しているアプリのBundle IDを指定します。
Bundle IDは重要なIDとなり、重複しないように設定しなければなりません。リバースドメインでの設定が推奨されています。
Capabilitiesには使用しているサービスにチェックを入れます。
最後にRegisterで登録して完了です。
Provisioning Profileを生成し取得する
Provisioning Profileとは聞きなれない言葉ですが、アプリ署名に必要となるファイルです。詳細はこちらで解説しています。
Provisioning Profileを生成するにはこれまで登録したデータに加えて、所有している端末のUDIDが必要になります。
端末を所有しているという情報が署名データ作成に必要となるためです。
デバイスの登録
デバイスを登録します。私の場合はすでにデバイスが登録されていました。Xcodeに接続したことのあるデバイスは自動で登録されるようです。
もし、登録されていない場合はDevice +ボタンを選択してデバイスを登録していきます。
以下の画面でデバイスを登録していきます。UDIDを確認する場合はiPhoneをMacと接続した後、iTunesをクリックして起動し、概要から確認できます。
Provisioning Profileの生成・取得
Provisioning ProfileはメニューのProfilesから生成します。Profiles+を選択します。
App StoreをチェックしてContinueを選択します。
先ほど登録した登録済みのAppIDを選択してContinue。
先ほど登録した登録済みのCertificateを選択してContinue。
最後にアプリの概要を適当に入力してGenerateで生成します。
生成に成功すると、ダウンロードで取得できるようになります。
XcodeにProvisioning Profileを設定する
Provisioning ProfileをXcodeに設定します。まずは適当な場所にダウンロードしておきます。
ダウンロードしたらSigning & Capabilitiesの設定でAutomatically manage Signingのチェックを外します。
Provisioning Profileのプルダウンが選択できるので、先ほどダウンロードしたファイルを指定します。
これで一通りの準備は完了です。もしXcodeの設定に失敗する場合は以下を試してみることをお勧めします。
- Build SettingsのSigningが正しい設定になっているか?
- Xcode再起動してみる
- キーチェーンアクセスに不要な証明書がないか、期限切れの証明書がないか
おわりに
これでアプリの署名のための準備は終わりです。Androidと比べて署名するための証明書の取得が非常にめんどくさいです。
また、多くのサイトで案内されているキーチェーンアクセスでの証明書作成だとなぜかうまく動きませんでした。
コメント
[…] […]
[…] アカウント作成後のアプリ登録の流れなどはこちらの記事で紹介しています。 […]