ああ、コードサインの喜び - ビルド構成のセットアップを取得しようとする多くの開発者をつまずかせました。これもまた、Xcode のいくつかの異なる設定と、潜在的に App Store 配布プロファイルとの間の不一致です。このエラーを確実にクリアするには、同じように設定する必要がある 3 つの場所があり、それぞれが AppID に関連付けられています。開発証明書とプロビジョニング プロファイルに関する同様の質問に回答しましたが、App Store 配布証明書とプロビジョニング プロファイルにも同じ一連のチェックが必要です。
アプリケーションの識別子に一致する有効なプロビジョニング プロファイルが見つかりませんでした
この質問には、特定の設定が配置されている場所に関する追加情報と、コードからデバイス ビルドに移行するためのプロセスが含まれています。App Store ディストリビューションのセットアップには、ほぼ同じプロセスを使用できます。「開発プロビジョニング プロファイル」から「App Store ディストリビューション」プロファイルへの参照を置き換え、ディストリビューション ビルドに適用できないテスト デバイス構成を省略します。行ってもいい。
現在持っているものを使用してデバッグを試みる必要がある場合は、以下をお読みください。
コード署名の核心は、「証明書、識別子、およびプロファイル」ツールによって発行された各ドキュメント、および Xcode プロジェクトのビルド構成で、AppID が一致する必要があることです。この問題を解決するにはいくつかの方法があります。プロビジョニング プロファイルと署名設定を変更して同じ AppId に一致させるか、AppID を変更してプロビジョニング プロファイルに一致させます。この決定の影響を理解することが重要です -- 共有キーチェーン アクセスが特に必要で、資格のあるサービス (アプリ内購入、プッシュ通知、iCloud、Game Center、ニューススタンド、データ保護など) が特に必要ない場合を除き、結果の制限が最も少ないオプションは、現在の AppId と一致するようにプロビジョニング プロファイルを変更することです。
コードサイン ビルドを成功させるための最速の (しかし最も制限的な) ルート
エラーの説明は、根本的な問題を確かに裏付けています。「Company Distribution」という名前の配布プロファイルが、証明書、識別子、およびプロファイル ツールからの AppID に設定されていますが、AppID は「Company. 」です。 2Cxxxxx3D5.Company.App」は、コードサインが使用している AppID と一致しません。別の言い方をすれば、プロジェクトはバンドル ID を「2Cxxxxx3D5.Company.App」に設定するように構成されていますが、バンドル「Company.」にコード署名しようとしています。「2Cxxxxx2D5.」一部は、アーカイブ コードサイン操作のために選択したプロビジョニング プロファイル (またはおそらく Xcode 自動プロファイル セレクター) に違反しています。
「2Cxxxxx3D5.」AppID の一部が疑わしく App ID プレフィックスのように見えます。これは、Xcode App ID フィールド (またはそのフィールドの値が派生する Info.plist) で指定しないでください。Xcode は、に基づいて App ID プレフィックスを自動的に処理します。プロビジョニング プロビジョニング プロファイルは、コード署名を行うために使用されます。Xcode アプリ ID にこのプレフィックス値が含まれている場合は、アプリ ID が「Company.App」になるように削除してください。そうすることで、アプリケーションのアプリ ID は、「Company.App」を指定した有効なアプリ ID になります。 *"エラーが示すディストリビューション プロビジョニング プロファイルは、コード署名中に使用されています。
より持続可能な修正 -- AppID を修正し、ディストリビューション プロビジョニング プロファイルを再発行します。
Apple は引き続き「資格」ベースのサービスをリリースするため、ワイルドカード プロビジョニング プロファイルでこのアプリを発行することに同意できない場合があります。代わりに、最大限の柔軟性を維持する最善の方法は、会社のアプリに明示的な AppID を発行し、Xcode を再構成して、その新しい明示的な AppID の配布プロファイルを再発行することです。上記のリンクされた回答は、ディストリビューション プロビジョニング プロファイルを除くこれらの各タスクを実行する方法の段階的なガイドとして役立ちます。完了するタスクの概要は次のとおりです。
- Xcode プロジェクトのアプリ ID を更新して、TeamID / アプリ ID プレフィックスを省略します。
- 編集したアプリ ID が Apple の証明書、識別子、およびプロファイル ツールに登録されていることを確認します。
- 新しいベアボーン アプリ ID のディストリビューション プロビジョニング プロファイルを発行する
- Xcode にインストールし、Xcode を再起動してから、Codesign 設定が新しいプロビジョニング プロファイルと署名 ID を使用していることを確認します。
- アーカイブを実行します。
ディストリビューション プロビジョニング プロファイルでエンコードされたものと一致するアプリ ID を取得したら、アーカイブを実行するためのより良い状態になるはずです。追加の質問や問題が発生した場合は、この回答にコメントを追加してください。何ができるかを確認できます。