web-dev-qa-db-ja.com

実行可能ファイルは、Xcodeで無効な資格で署名されます

デバイスでアプリを実行しようとすると、Xcode 5でこのエラーが発生しました。

実行可能ファイルは無効な資格で署名されました

Xcode 4.xでは問題なく動作しました。誰でもエラーを取り除く方法を知っていますか?

enter image description here

97
Emmy

問題が見つかりました。 developer.Apple.comで作成したアプリにはinter-app-audioは含まれていません。 Xcodeのプロジェクトエンタイトルメントplistファイルでは、inter-app-audioがYES(デフォルト)に設定されています。 inter.app-audioを有効にするために、developer.Apple.comでアプリ構成の設定を変更したら、その後、アプリがデバイスで実行されます。これは、developer.Apple.comとxcodeプロジェクト設定の両方でアプリの設定を一貫させるためのAppleの新しいルールだと思います。

34
Emmy

Xcodeの再起動が私にとってはうまくいきました。

76
RaffAl

私はこの問題に1時間取り組み、最終的に修正を見つけました。開発チームはProjectTargetとProjectTestsで異なることが判明しました。

68
Krish Wadhwana

Xcode 5で「Game Center」の資格をオン/オフに切り替えることでこれを修正できました:-)

22
Nik

XCode 10では、レガシービルドシステムを使用する必要がある場合があります

ファイル/プロジェクト設定から変更できます。 エラーITMS-90174:「プロビジョニングプロファイルがありません-iOSアプリには、embedded.mobileprovisionという名前のファイルにプロビジョニングプロファイルが含まれている必要があります。」

コルドバ/ ionicのお知らせ: https://github.com/Apache/cordova-ios/issues/407

15
Chen Xing

メインのアプリと同じプロビジョニングプロファイルにアプリのテストターゲットをチェックして設定するまで、解決策はありませんでした。または、自動歌唱を使用している場合は、テスト対象で同じチームが選択されていることを確認してください。

14
Matej Ukmar

最新のソリューションXcode

まず、特定のAppIDメンバーセンターで有効になっているものを確認する必要があります。

enter image description here

次に、Xcodeの適切なターゲットでenabledと同じ機能を使用する必要があります。この場合:App GroupGame CenterIn-App Purchaseすべて Xcodeのターゲットで有効にする必要があります。

enter image description here

ただし、DEBUGモードの場合は関係ありません。

enter image description here

RELEASEモードでは非常に重要です: enter image description here

Game CenterIn-App Purchaseは、デフォルトではメンバーセンターで有効になっていますが、Xcodeのターゲットでは無効になっていることに注意してください。

XCode4.6を使用していたプロファイルが原因で、現在xCode5を使用しているため、問題があると思います。

[XCode]> [設定]> [アカウント]で証明書/証明プロファイルを更新する必要があります

[XCode]> [設定]> [アカウント]> [開発アカウント]> [詳細の表示]ボタン(右下)> [ID/PPの署名]画面が表示されます> [更新]をクリックします。

次に、ビルド設定から正しいプロファイルを再度選択し、プロジェクトを削除してビルドします。

これがお役に立てば幸いです。

10
Manthan

Xcode5でアプリの機能を一致させる必要がありました

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

プロビジョニングプロファイルでそれを使って。

6
Nithin Haridas

xcode 6.1(HealthKitサンプル)

HealthKitの統合が原因でこのエラーが発生しました。In-AppPurchaseを有効にして、Game CenterとHealkitが問題を解決しました。Provisionプロファイルで有効にしたものと同じです。

enter image description here

enter image description here

5
Vinod Joshi

(Xcode 6.1)

私にとっての問題はビルド設定にありました。デバイスに展開するときに、Provisioning ProfileをApp Store Production Profileに設定しました。 「自動」に切り替えて、問題を解決しました。開発プロビジョニングプロファイルに設定することもできます。

また、2つの証明書を持っているので、2番目の証明書を開発条項に追加しました。他の人はおそらくこの問題を抱えていないでしょう。

4
Ian Newland

単純なクリーンアンドビルドで修正できるように思えました。

4
Maxwell

Xcode 10にアップデートしたときに同様の問題が発生し、[ファイル]> [プロジェクト設定]の問題を解決しました。[新しいビルドシステム]オプションで[レガシービルドシステム]を選択します。これは私にとってトリックを作りました、これが誰かに役立つことを願っています。

4
Jose Rojas

project.pbxproj"PROVISIONING_PROFILE=...""PROVISIONING_PROFILE[sdk=iphoneos*]" = ...をすべて削除してこれを解決し、Xcodeを再起動してターゲットのプロビジョニングプロファイルを再度設定します。

2
BabyPanda

Xcodeの再起動が機能しない場合は、新しいプロビジョニングプロファイルを作成し、テストデバイスを必ず含めてください。

2
mohammad alabid

もう1つ確認してください-bothで正しいエンティティが選択されていることを確認してください

ターゲット->ターゲット->ビルド設定->署名

および

プロジェクト->プロジェクト->ビルド設定->コード署名エンティティ

アプリでエンタイトルメントが要求されていなくても、一方で完全な開発者プロファイルが選択され、もう一方で別の(開発者以外の)Apple IDが選択されたときにこのメッセージが表示されました。

2
CupawnTae

Xcode内部の小さなバグのようです。とにかくarchiveを試してください。entitlementsに問題がある場合でも。エンタイトルメントに問題がなければ、問題なくアップロードされます。 Appleを受け入れると、アプリがAppStoreに公開されます。

私はそれをやった、そしてそれは働いた:)

私の場合、デバイスは追加されませんでした。そのため、デバイスを追加して、新しいプロビジョニングプロファイルを生成する必要がありました。

2
Xavi Valero

XCode 5でも同じ問題が発生しました。とにかくこれは助けになりました。

XCode > Preferences > Location tab > DerivedData

少し左矢印を押して、FinderでDerivedDataを開きます。プロジェクトのゴミ箱フォルダに移動して再構築します。

Screenshot

1
Prcela

私の場合、Apple Developer License Agreementに同意する必要がありました。

Apple開発者アカウントにログインし、以下のような通知メッセージを確認します。

「Apple Developer Programライセンス契約が更新されました。特定のメンバーシップリソースにアクセスするには、****は2016年6月28日までに最新のライセンス契約に同意する必要があります。」

以前は、機能、プロビジョニングプロファイル、証明書などを変更/チェックしましたが、アプリIDにiCloudコンテナを追加/編集できませんでした。契約に同意した後、事態はスムーズに動き始めました。

うまくいけば、誰かの貴重な時間を節約できるでしょう。

1
Danboz

これは、間違ったスキームを実行している可能性もあります。

1
Saurabh Bisht

私の場合、APNS証明書の有効期限が切れている場合、有効期限が切れた証明書を削除し、プロビジョニングプロファイルを再生成すると問題が修正されます。

1
BillChan

機能の有効化-> Inter-App Audioにより、この問題も修正されました。また、解析を通じてプッシュ通知を送信しようとしています

1
jstn

問題がありました。解決:正しいターゲットに移動->機能->私にとっては、「アプリ内購入」とそれを修正するボタンに問題がありました。オフオン操作で修正された問題。

1

この問題が私と同じである場合、ターゲットプロジェクトでユニットテストでチームを設定することを忘れる可能性があります

enter image description here

1
Papon Smc

ごく最近、まったく同じ問題に遭遇しました。それらのどれも私には役に立たなかった多くの異なるアドバイスを読んだ後、私はついに内部に行き、問題の根本原因を見つけました。

モバイルプロビジョニングファイルは、実際にはXcodeによって生成されたエンタイトルメントファイルと一致しません。

すべてのファイルはAppleツールによって自動的に管理されますが、正しくありません。

Appleポータルからプロビジョニングファイルをダウンロードして開き(証明書で署名されたplistファイルであるため、テキストエディターで読み取り可能なため開くことができます)、Entitlementsファイルと自動的に生成されますXcodeとプロジェクトファイル内にある(したがって、テキストエディターで読み取り可能なplist XMLファイルになります)違いを確認できます。

私の場合、Game Centerの資格でした。ポータルにはチェックされた状態で表示されました(デフォルトでチェックされています)が、実際にはこの資格はモバイルプロビジョニングファイルに含まれていません。そのため、エンタイトルメントファイルから削除する必要がありました。

結果は次のとおりです-モバイルプロビジョニングプロファイルのコンテンツは、APP ID構成ページに表示される内容と一致しないことがあります。 =

1
Radek

ここでの答えは少し不十分なようですので、2セントを加算します。

実際の解決策は、一般にプロビジョニングプロファイルに保存されているものと一致しないことです(developer.Apple.com->メンバー->証明書->使用している証明書[dev/productionを確認してください)アプリで有効になっているもの(プロジェクト名をダブルクリック)、水平メニューで[機能]([全般]の横)を選択します。

これらのいずれかを最近変更した場合は、XCode-> Preferences-> Accounts-> Details-> Refresh Iconで証明書を更新し、XCodeを再起動してください。

1
jdero

私の場合:Inter-App Audioを有効にする必要があります

Capabilities -> Inter-App Audio

Parse.com Notificationを使用しているため、AudioToolbox.frameworkへのリンクが必要だと思います

1
Nguyen Tran

ターゲットでProvisioning ProfileAutomaticで同じ問題を抱えている人向けビルド設定:

ターゲットのエンタイトルメントファイルを編集するときは十分に注意してください!これにより、自動生成されたプロビジョニングプロファイルへの対応が崩れる可能性があり、このエラーが発生します。

私の場合、デバッグビルドで一時的にiCloudプロダクションコンテナを使用する必要がありました。そうするために、私は挿入しました

<key>com.Apple.developer.icloud-container-environment</key>
<string>Production</string>  

資格ファイルでこれは機能しました!
後でこれらの行を削除する必要があることを思い出させるために、さらに次のコメントを挿入しました。

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

そしてこれは通信を壊し、エラーを作成しました

1

ここにリストされている他の適切な答えが役に立たない場合は、キーチェーンアクセスを開き、コード署名に使用しているプラ​​イマリ証明書以外のすべての「iPhone Developer ...」証明書を削除してみてください。失効した証明書がいくつかあり、削除する必要がある他のチームメイトからの証明書があることがわかりました。

0
Smeedge

(Xcode 7.3.1)特に1つのデバイスのみでこの問題が発生しました。私にとってそれを修正したのは、同僚のコンピューターからアプリを実行することで(正常に)、その後、コンピューターでこのエラーが表示されなくなりました。

0
e1985

単にApple devポータルに行き、適切なプロビジョニングプロファイルをダウンロードして再インストールしました(xcode 10.1)

0
Daniel Lizik

同じ問題に直面しました。私にとって解決策は以下の手順でした。

  1. 開発者アカウントに行き、App Identifierにプッシュ証明書をアップロードしました。
  2. プロビジョニングプロファイルを再生成する

結論:有効になっているサービスはあるが設定されていない場合、そのサービスを無効化または設定すると、問題が解決する可能性があります

0
Amit Saxena

上記のすべては、特にBartłomiejSema byczykによるものです。デベロッパーセンターおよびプロジェクトで資格設定を再確認してください。

Xcode 9/iOS 11 ..の2セント

Xcode 8プロジェクトもあるレポにNFC(iOS11/Xcode 9でのみ有効)の新しい資格を追加すると、Xcode 8は失敗します。

したがって、同じ非コードファイルを共有する同じベースコード(条件付きコンパイル)で複数のプロジェクトを使用する場合は、異なるXcodeバージョン間で資格ファイルを区別してください。

0
ingconti

何よりもまず、プロビジョニングプロファイルを手動で設定した場合は、ビルドする前に選択した構成に対して正しいプロビジョニングプロファイルが選択されていることを確認してください。プロビジョニングプロファイルとして自動を設定した場合は、ビルド中に正しいプロビジョニングプロファイルがXcodeによって選択されていることを確認してください。

0
Ishaan Sejwal

Xcode 8.3.2でも同様のエラーが発生していました。私の場合、キャッシュされたプロビジョニングプロファイルを〜/ Library/MobileDevice/Provisioning Profilesから削除すると、Xcodeが開発者ポータルから正しいプロファイルを再度ダウンロードし、その後初めて機能することがわかりました。これが他の人の助けになることを願っています!

0
webmariner