IPhone OS 3.1およびXcode 3.2にアップグレードする前に、完全に機能するビルド環境がありました。ビルドを実行しようとすると、次の結果が得られます。
コード署名エラー:プロビジョニングプロファイル「FooAppテスト」は、現在の設定「TGECMYZ3VK.no.fooapp.iphoneapp」と一致しないアプリケーション識別子「no.fooapp.iphoneapp」を指定します
問題は、Xcodeがなんとかして「FooApp Test」プロビジョニングプロファイルがアプリケーション識別子「no.fooapp.iphoneapp」を指定していると考えていることですが、そうではありません。
オーガナイザー(およびiPhone開発者ポータルWebサイト)では、アプリ識別子は「TGECMYZ3VK.no.fooapp.iphoneapp」として正しく表示されます。
また、プロジェクトレベルでビルドオプションでプロビジョニングプロファイルを設定すると、Xcodeはアプリ識別子を正しく識別しますが、ターゲットに移動すると、有効なプロビジョニングプロファイルを選択できません。
この問題の原因は何ですか?
更新:新しいプロビジョニングプロファイルを作成しようとしましたが、まだうまくいきません。また、Info.plistで識別されるアプリを単に「no.fooapp.iphoneapp」に変更することも試みました。ビルドは成功しますが、オーガナイザーからエラーが表示されます:
実行可能ファイルは無効な資格で署名されました。アプリケーションのコード署名資格ファイルで指定された資格は、プロビジョニングプロファイルで指定された資格と一致しません。 (0xE8008016)。
プロビジョニングプロファイルには「TGECMYZ3VK.no.fooapp.iphoneapp」アプリケーション識別子がまだあるため、これは合理的と思われます。
また、すべての証明書がキーチェーンで有効であることを再確認しました。
だから私の質問は、Xcodeを取得して正しいアプリケーション識別子を確認する方法ですか?
更新:以下に示すように、問題を解決するように思われるのは、すべてのプロビジョニングプロファイル、証明書などを削除し、新しい証明書/プロファイルを作成して、それらを再度インストールすることです。誰か他の解決策があれば、歓迎します。 :)
これらのコード署名の問題の多くがそうであるように、すべてのプロビジョニングプロファイル、証明書などを削除し、すべてを再度取り消して生成すると、トリックを行うことが判明しました。新しいバンドル識別子、アプリ識別子なども作成しましたが、AdHocディストリビューションが再び機能するようになりました。
携帯電話からプロビジョニングプロファイルを手動で削除し、ビルドメニューから「すべてのターゲットをクリーンアップ」してからアプリを再構築する必要がありました。
それは、設定->一般->プロファイルの下にあります
これは、新しいMacを手に入れたときに起こりました。あなたはそれを修正します、心配しないでください
また、プロジェクト構成CODE_SIGN_ENTITLEMENTSで資格ファイル名「dist.plist」への参照を追加したことを確認してください。
ビルドターゲットとメインアプリケーションの両方の情報で両方のコード署名資格を確認します-コード署名資格が表示された場合は削除します
昨日も同じエラーが発生しました。他の回答のさまざまなリセット手順をすべて試してみましたが、うまくいきませんでした。最終的に私も
見よ、今では動作し、エラーはなくなった。これは深刻なブードゥー教の領土です。
XCodeの[グループとファイル]ペインで、[ターゲット]を展開し、アプリのターゲットをダブルクリックします。
これにより、ターゲットの情報ペインが表示されます。 [ビルド]セクションで、古いプロファイルの[コード署名]セクションを確認します。これは、特に新しいバージョンのSDKおよびiPhone OSにアップグレードした後に何度も発生しました。
Xcode 4.3を使用している場合は、クイックハック。
Xcodeの[プロジェクト設定]> [MyTarget]> [サマリー]タブ一番下の[資格を有効にする]チェックボックスがあります。チェックを外すと、エラーが消えました。
これにかなり悩まされた後、私は設定を再検討し、「コード署名ID」と「すべてのiPhone OSデバイス」エントリを逆にしたことを発見しました。 -この出来事に関する手がかりが示されました。
この時点で、Xcodeは電話(デバイス)のプロビジョニングを試みます
すべてのプロファイルに「AdHoc」、「Development」、または「AppStore」のプレフィックスを付けると、インストールプロセスでAdHocプロファイルではなく開発プロファイルがデバイスに配置されていることがすぐにわかりました。
Resources/Entitlements.plist内では、ブール値の「get-task-allow」がチェックされていない場合はオンになります。これで問題が解決しました。
デバイスがリストにない可能性があります。プロビジョニングプロファイルを変更してみてください。
ターゲットをダブルクリックして、「プロパティ」タブを選択します。そこでcom.yourcompany.${...}
を変更します。
問題は、[プロジェクト] .xcodeprojectファイル内にある "project.pbxproj"ファイルにあります。 .xcodeprojectを右クリックしてコンテンツを表示するには、計画テキストエディターで「project.pbxproj」を開きます。攻撃的なパスを内部検索して修正します。私の場合、パス全体を削除して「Entitlements.plist」を残しただけで、問題が解決しました。これを試みる前に、.xcodeprojectをバックアップすることを強くお勧めします。
参考までに、同じ問題に遭遇し、すべてのプロファイル、既存の証明書、およびローカルドライブと開発者ポータルからすべてを削除し、既存のデバイスを削除してそれらを再追加(開発者ポータル)するのがうまくいくようです。
別の原因は、インストールするデバイスが配布証明書で承認されたデバイスでない場合です。
ここにメモを追加するだけです:Macbookのロジックボードを交換した後(まったく新しいMacでも同じ問題があると思いますが)、同じエラー(0xE8008016)が発生し、何時間も円を描いて回った後、 iPhone開発者プログラムポータルには、開発と配布の個別の証明書がありました。
ハードウェアの変更は、both証明書を再発行する必要があることを意味します-Developerを再発行しましたが、notDistributionです。私の名前はハードウェアが変わっても変わらなかったので(そして、証明書は所有者の名前で識別されます)、これは見つけにくいトリッキーな問題になりました;).
Xcodeがプロビジョニングプロファイルを適切な場所に自動的にコピーしない場合があります。私の場合、それは本当でした。
プロビジョニングプロファイルが〜/ Library/MobileDevice/Provisioning Profilesディレクトリにあり、ドラッグアンドドロップではない場合は、クリーンアップしてビルドすることを確認します。