web-dev-qa-db-ja.com

Xcode 3.2でのコードサインエラー

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を取得して正しいアプリケーション識別子を確認する方法ですか?

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

31
quux

これらのコード署名の問題の多くがそうであるように、すべてのプロビジョニングプロファイル、証明書などを削除し、すべてを再度取​​り消して生成すると、トリックを行うことが判明しました。新しいバンドル識別子、アプリ識別子なども作成しましたが、AdHocディストリビューションが再び機能するようになりました。

16
quux

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

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

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

21
Justin

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

5
user194584

ビルドターゲットとメインアプリケーションの両方の情報で両方のコード署名資格を確認します-コード署名資格が表示された場合は削除します

5
dijipiji

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

  • 私のMacを再起動しました
  • iPhoneを再起動しました
  • xCodeを使用して、電話からすべてのiphoneプロビジョニングプロファイルを削除した
  • macからすべてのプロファイルを削除しました(〜/ Library/MobileDevice/Provisioning Profiles for me)
  • ほかに何か?ビルドフォルダーを削除し、XCodeを再起動し、3.1.2 SDKの更新をインストールし、チキンを犠牲にしました。

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

5
Simon Woodside

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

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

4
ennuikiller

Xcode 4.3を使用している場合は、クイックハック。

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

2
neoneye

これにかなり悩まされた後、私は設定を再検討し、「コード署名ID」と「すべてのiPhone OSデバイス」エントリを逆にしたことを発見しました。 -この出来事に関する手がかりが示されました。

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

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

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

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

1
Damien Laughton

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

1
maz

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

1
superarts.org

ターゲットをダブルクリックして、「プロパティ」タブを選択します。そこでcom.yourcompany.${...}を変更します。

0
Matt N.

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

0
Jamey McElveen

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

0
Topher Fangio

別の原因は、インストールするデバイスが配布証明書で承認されたデバイスでない場合です。

0
George Lambert

ここにメモを追加するだけです:Macbookのロジックボードを交換した後(まったく新しいMacでも同じ問題があると思いますが)、同じエラー(0xE8008016)が発生し、何時間も円を描いて回った後、 iPhone開発者プログラムポータルには、開発配布の個別の証明書がありました。

ハードウェアの変更は、both証明書を再発行する必要があることを意味します-Developerを再発行しましたが、notDistributionです。私の名前はハードウェアが変わっても変わらなかったので(そして、証明書は所有者の名前で識別されます)、これは見つけにくいトリッキーな問題になりました;).

0
Henry Cooke

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

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

0
PowerAktar