- ProvisioningにはDeveloperとDistributionの2種類がある
- ともにiTunes Connectで作成する
- ProvisioningはDeveloper/Distributionそれぞれで1つずつ作成すれば良い
ここで重要なのは、Developerは開発機の特定が必要でDeviceの設定があるが、
Distributionは公開用なのでDeviceの設定は不要である。
Deviceの設定がグレーアウトされているのはそういう意味なので、無理にSelectAllを押す必要はない。
- 証明書にもDeveloperとDistributionの2種類がある
- 先にProvisioningを作成、後で「それを含んだ」証明書を作る。
これが非常に重要。この順番を間違えると無意味な証明書が出来てしまう
無効な証明書でビルドすると、「Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011)」という警告が出る(この状態でもReleaseまでは実機で動作するが、Distributionはエラーが出て通らない)。
- 出来上った証明書をキーチェーンユーティリティーでキーチェーンのルートとシステムに登録
この際、キーチェーンユーティリティーにはバグがあり、同時に複数の操作を行えないので、
「古い証明書の削除→一端終了→再起動→新しい証明書の登録→終了」の手順をDeveloperとDistributionで計4回(ルートとシステムの双方に登録が必要だから)も行う必要がある
- XcodeのOrganaizerもしくはiPhone構成ユーティリティーでProvisioningを追加、さらに各デバイスを開いてそれをインストール
- ここで非常に重要なのは、Developerは開発用デバイスの全てにインストールが必要であるが、
Distributionはインストール不要だと言うことである。というかインストールできないのが正常。 - Xcodeのコンパイル設定で、Debug/ReleaseはDeveloper、DistributionはDistributionをコード承認に設定する。
Releaseでは相変わらず-19011の警告が出るが、無視すれば良い。 - 追記;証明書をいじった後は、Xcodeのコード署名を再設定する(同じファイル名でも)
何回も訳がわからないまま証明書から作り直してしまったが、
通常はProvisioningの有効期限切れなら「renew」で更新さえすれば、こんなややこしい手間はしないで済む。
0 件のコメント:
コメントを投稿