iOSのプロビジョニング周りをざっくり理解する

GitHubActionsを組むにあたって沼っているので整理する
「ざっくり」理解したい

登場人物
CertSigningRequest
証明書要求用ファイル。CertificatesをAppleのメンバーセンターに登録するときに必要なファイル。
キーチェーン > 認証アシスタント > 認証局に証明書を要求で取得する。.certSigningRequestファイル。
Certificates
開発者登録。開発者として登録して取得した証明書をキーチェーンアクセスに登録したPCでないとビルド出来ない。.cerファイル。
DevelopmentとProductionに分かれている。
開発用証明書(Development)
- iOSアプリ開発用証明書
- APNsサービスSSL証明書(Sandbox)
本番用証明書(Production)
- App Storeとアドホック配信用証明書
- APNsサービスSSL証明書(Production)
- Pass Type ID 証明書
- Website Push ID 証明書
- WatchKit Services 証明書
- VoIP Services 証明書
p12ファイル
Certificatesから出力できるファイル。Certificatesは証明書のみ(証明書と、必要な秘密鍵が書かれているのみ。実際の鍵は入っていない。)で、p12ファイルは秘密鍵を含めた証明書なので管理は厳重に。Admin権限をもつことと等価。プッシュサービス(Repro, Parse)などのMBaaSを利用する際にはPush通知用のこのファイルを書き出してサービス側に登録したりすることもある。
Devices
端末情報。開発機として登録したデバイスでないとアプリをインストールできない。(App Store申請用は関係ない)
App ID
アプリのID。Bundle IDを設定したり、Enable Servicesを設定してプッシュ通知が利用可能かなどをアプリ情報と紐付ける。
Provisioning Profile
CertificatesとDevicesとApp IDを合わせて作られたもの。iPhoneアプリの開発者・販売者を、提供元のアップルに証明してもらうためのもの。ファイル形式は.mobileprovision。
Provisioning ProfileにはDevelopmentとDistributionという種類が別れていて、Developmentは単純に開発用のもの。Distributionは配布用のもの。 Distribution = 配布用と言っても、App Storeに配布するのか、Ad Hocでテスト用として配布するのかが別れてきたりするので、二つ必要。
参考

ざっくり理解したのでclose

この記事もわかりやすかった