Xcode
証明書、プロビジョニングプロファイル、およびコード署名
サーチ…
適切なコード署名方法を選択する
新しいプロジェクトを始めたばかりの場合は、コード署名の処理方法を考えることが重要です。
コード署名が初めての方は、Xcodeのコード署名の基本について説明しているWWDCセッションをご覧ください。
アプリケーションに適切なコード署名を行うには、ローカルマシンに次のリソースが必要です。
- 秘密鍵(
.p12
ファイル) - 秘密鍵と一致する証明書(
.cer
ファイル) - ローカルにインストールされた証明書と秘密鍵に一致するプロビジョニングプロファイル(
.mobileprovision
ファイル)
Apple Developer Portalでは、プロビジョニングプロファイルに関連付けられた有効なApp IDが必要です。
Xcodeのコード署名機能を使用する
プロビジョニングプロファイルとしてのAutomatic
設定は、証明書がインストールされている場合でも、最新のプロビジョニングプロファイルを選択するだけで確実に機能しないことがあります。
そのため、特定のプロビジョニングプロファイルを何らかの方法で指定することをお勧めします。
Xcode 7以下
[ Fix Issue
のFix Issue
]ボタン(ボタンを無効にするXcodeプラグインがあります)をクリックすることは避けてFix Issue
既存の証明書を取り消すことがあり、プロビジョニングプロファイルを取り消すことがあります。
残念ながら、Xcode 7ではプロビジョニングプロファイルの名前を指定することはできません。代わりに、プロファイルのUUIDを指定できます。これは、プロファイルが再生成されるたびに(たとえば、新しいデバイスを追加するとき)変更されます。
この問題を回避するには、アプリケーションをビルドするときにXcodeにプロビジョニングプロファイルを渡す方法について、 XcodeProject.mdをチェックしてください。
Xcode 8以降
アップル社は、Xcode 8のリリースで多くのコード署名を改善したが、以下の点が変更された。
- これ以上
Fix Issue
をFix Issue
ボタンはありません。代わりに、すべてのコード署名プロセスがバックグラウンドで実行され、ログをXcodeに表示します - プロビジョニングプロファイルをUUIDではなく名前で指定できるようになりました(詳細はXcodeProject.mdを参照してください)
- 何か問題が生じたときのエラーメッセージの改善。コード署名エラーに遭遇した場合、Xcodeでビルドと署名を試みて、より詳細なエラー情報を取得してください。 (詳細についてはTroubleshooting.mdを参照してください)
手動で
Apple Developer Portalを使用すると、証明書とプロビジョニングプロファイルをいつでも手動で作成および管理できます。証明書の秘密鍵( .p12
)は、失われた場合に復元できないため、安全な場所に保管してください。
Apple Developer Portalから、証明書( .cer
)とプロビジョニングプロファイル( .mobileprovision
)をいつでもダウンロードできます。
証明書を失効した場合、または失効した場合、関連するすべてのプロビジョニングプロファイルは無効になります。
ファストレーンマッチの使用
一致のコンセプトについては、コードネゴシングガイドに記載されています。 ファストレーンを使用する場合は、推奨されるコード署名手法です
マッチすると秘密鍵と証明書がgit repoに保存され、マシン間で同期されます。これにより、新しいチームメンバを搭載し、新しいMacマシンを簡単にセットアップできます。このアプローチは安全で 、既に使用しているテクノロジーを使用します。
一致を開始するには、既存の証明書を取り消す必要があります。