31

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 に正しいアプリケーション識別子を表示させる方法です。

更新: 以下に示すように、問題を解決するように見えるのは、すべてのプロビジョニング プロファイル、証明書などを削除し、新しい証明書/プロファイルを作成して再度インストールすることです。誰かが他の解決策を持っているなら、彼らは大歓迎です。:)

4

16 に答える 16

21

スマートフォンからプロビジョニング プロファイルを手動で削除し、ビルド メニューから「すべてのターゲットを消去」してからアプリを再構築する必要がありました。

それは設定の下にあります - >一般 - >プロファイル

新しいMacを手に入れたとき、これは私に起こりました。あなたはそれを修正します、心配しないでください

于 2009-10-09T04:39:02.250 に答える
16

これらのコード署名の問題の多くに当てはまるように、すべてのプロビジョニング プロファイル、証明書などを削除し、すべてを取り消してもう一度生成すると、うまくいくことがわかりました。新しいバンドル ID、アプリ ID なども作成し、AdHoc 配布が再び機能するようになりました。

于 2009-09-17T13:41:10.980 に答える
5

また、プロジェクト構成CODE_SIGN_ENTITLEMENTSにエンタイトルメントファイル名「dist.plist」への参照を追加したことを確認してください。

于 2010-02-16T06:16:13.737 に答える
5

ビルド ターゲットとメイン アプリケーションの両方の情報で両方のコード署名資格を確認します。コード署名資格がいずれかに記載されている場合は、それを削除します。

于 2010-11-12T16:23:42.003 に答える
5

昨日、同じエラーが発生しました。他の回答でさまざまなリセット手順をすべて試しましたが、うまくいきませんでした。結局私も

  • Macを再起動しました
  • iPhoneを再起動しました
  • XCodeを使用して電話からすべてのiPhoneプロビジョニングプロファイルを削除しました
  • Mac からすべてのプロファイルを削除しました (~/Library/MobileDevice/Provisioning Profiles for me)
  • ほかに何か?ビルドフォルダーを削除し、XCode を再起動し、3.1.2 SDK へのアップデートをインストールし、ニワトリを犠牲にしました。

見よ、それは今動作し、エラーはなくなった. これは深刻なブードゥー教の領域です。

于 2009-10-16T00:52:38.047 に答える
4

XCodeの[グループとファイル]ペインで、[ターゲット]を展開し、アプリのターゲットをダブルクリックします。

これにより、ターゲットの情報ペインが表示されます。[ビルド]セクションで、[コード署名]セクションで古いプロファイルを確認します。これは、特にsdkとiphoneosの新しいバージョンにアップグレードした後に何度も起こりました。

于 2009-09-11T10:55:19.473 に答える
2

Xcode 4.3 を使用している場合は、Quick Hack を使用してください。

Xcode の[プロジェクト設定] > [MyTarget] > [概要] タブの一番下には、「資格を有効にする」というチェックボックスがあります。チェックを外すと、エラーが消えました。

于 2012-03-06T11:49:19.930 に答える
1

デバイスがリストに含まれていない可能性があります。プロビジョニングプロファイルを変更してみてください。

于 2012-01-13T00:49:49.693 に答える
1

Resources/Entitlements.plist 内には、ブール値の「get-task-allow」があり、チェックされていない場合はオンにチェックしてください。これで問題は解決しました。

于 2011-08-04T11:59:33.360 に答える
1

これにしばらく悩まされた後、設定を再確認したところ、「コード署名 ID」と「すべての iPhone OS デバイス」のエントリが逆になっていることがわかりました。- この出来事に関して私が持っていた手がかりはによって示されました.

  1. 電話からすべてのプロファイルを削除する
  2. ビルド・アンド・ゴー

この時点で、xcode は電話 (デバイス) のプロビジョニングを試みます。

  1. 電話機を調べて、追加されたプロビジョニング プロファイルを確認します。

すべてのプロファイルに 'AdHoc' または 'Development' または 'AppStore' というプレフィックスを付けると、インストール プロセスが AdHoc プロファイルではなく開発プロファイルをデバイスに配置していることがすぐにわかりました。

于 2010-01-12T16:12:12.940 に答える
0

Xcodeがプロビジョニングプロファイルを適切な場所に自動的にコピーしない場合があります。私の場合、それは本当でした。

プロビジョニングプロファイルが〜/ Library / MobileDevice / Provisioning Profilesディレクトリにあることを確認し、ドラッグアンドドロップだけでなく、クリーンアップしてビルドします。

于 2011-09-27T13:43:03.727 に答える
0

問題は、[プロジェクト].xcodeprojectファイル内にある「project.pbxproj」ファイルにあります。勇気がある場合は、.xcodeprojectを右クリックしてコンテンツを表示し、プランテキストエディタで「project.pbxproj」を開きます。内部で攻撃的なパスを検索し、修正します。私の場合、パス全体を削除し、「Entitlements.plist」をそのままにしておくと、問題が解決しました。これを試みる前に、.xcodeプロジェクトをバックアップすることを強くお勧めします。

于 2010-09-10T00:40:17.193 に答える
0

もう 1 つの原因は、インストールしようとしているデバイスが配布証明書で承認されたデバイスではない場合です。

于 2010-08-25T18:12:49.407 に答える
0

参考までに、私は同じ問題に遭遇し、すべてのプロファイル、既存の証明書、およびローカル ドライブと開発者ポータルからすべてを削除し、既存のデバイスを削除してそれらを再度追加する (開発者ポータル) とうまくいったようです。

于 2010-09-03T01:20:55.027 に答える
0

ターゲットをダブルクリックし、[プロパティ] タブを選択します。を変更しcom.yourcompany.${...}ます。

于 2011-07-22T11:13:13.030 に答える
0

ここにメモを追加します: Macbook のロジック ボードを交換した後、同じエラー (0xE8008016) に遭遇しました (完全に新しい Mac でも同じ問題が発生すると思いますが)。 iPhone Developer Program Portal には、開発用と配布用に別々の証明書がありました。

ハードウェアの変更は、両方の証明書を再発行する必要があることを意味します- 私は Developer を再発行しましたが、 Distributionは発行しませんでした。ハードウェアが変更されたときに私の名前が変更されていなかったため (証明書は所有者の名前で識別されます)、これを見つけるのが難しい問題でした;)

于 2010-03-02T14:29:45.810 に答える