iPhone OS 3.1 と Xcode 3.2 にアップグレードする前に、完全に機能するビルド環境がありました。ビルドを実行しようとすると、次のようになります。
コード署名エラー: プロビジョニング プロファイル 'FooApp テスト' は、現在の設定 'TGECMYZ3VK.no.fooapp.iphoneapp' と一致しないアプリケーション識別子 'no.fooapp.iphoneapp' を指定します
問題は、「FooApp Test」プロビジョニング プロファイルがアプリケーション識別子「no.fooapp.iphoneapp」を指定していると Xcode がどうにかして考えることですが、そうではありません。
オーガナイザー (および iPhone 開発者ポータル Web サイト) では、アプリ ID は「TGECMYZ3VK.no.fooapp.iphoneapp」として正しく表示されます。
また、プロジェクト レベルでビルド オプションでプロビジョニング プロファイルを設定すると、Xcode はアプリ識別子を正しく識別しますが、ターゲットに移動すると、有効なプロビジョニング プロファイルを選択できません。
この問題の原因は何ですか?
更新: 新しいプロビジョニング プロファイルを作成しようとしましたが、うまくいきません。また、Info.plist で識別されたアプリを単に「no.fooapp.iphoneapp」に変更してみました。ビルドは成功しますが、オーガナイザーから次のエラーが表示されます。
実行可能ファイルは、無効な資格で署名されました。アプリケーションのコード署名資格ファイルで指定された資格が、プロビジョニング プロファイルで指定された資格と一致しません。(0xE8008016)。
プロビジョニング プロファイルにはまだ「TGECMYZ3VK.no.fooapp.iphoneapp」というアプリケーション識別子が含まれているため、これは妥当と思われます。
また、すべての証明書がキーチェーンで有効であることを再確認しました。
私の質問は、Xcode に正しいアプリケーション識別子を表示させる方法です。
更新: 以下に示すように、問題を解決するように見えるのは、すべてのプロビジョニング プロファイル、証明書などを削除し、新しい証明書/プロファイルを作成して再度インストールすることです。誰かが他の解決策を持っているなら、彼らは大歓迎です。:)