IPhoneでのアドホック配信に問題があります。 SDK 3.0でアプリケーションを開発しました。開発者のライセンスを持っています。プロジェクトに証明書とプロビジョニングプロファイルを追加しました。だから、それで問題ありません。
しかし、iPhoneにアプリをインストールしようとすると、プロジェクトがコンパイルされ、エラーが表示されます:"The executable was signed with invalid entitlements"
[オーガナイザー]ウィンドウで。何か不足していますか? iPhoneを2.2.1からアップグレードし、Appleから最新のSDKをダウンロードしました。
この問題で私を助けてください。
「ポータルプログラム」にはかなり良い指示があります。ログインした場合
http://developer.Apple.com/iphone
次に、左側の[配布]をクリックし、
アドホック配布用の配布プロビジョニングプロファイルの作成とダウンロード
下部のリンク。
重要な点は次のとおりです。
アドホック配布の場合、次を完了します。
このエラーは、デバイスがプロビジョニングプロファイルに含まれていないアプリをプロファイリングしようとしている場合にも発生する可能性があります。
使用するdevプロビジョニングプロファイルにデバイスが含まれていることを確認してください。どういうわけか、エラーメッセージは誤解を招くです。私の資格は実際には大丈夫でした。
開発ビルドでは「get-task-allow」をチェックする必要がありますが、ディストリビューションビルドではチェックを外す必要があることがわかりました。これを実現する最も簡単な方法(知る限り)は、プロジェクトにtwo資格ファイルを用意することです:Entitlements.plistおよびEntitlementsDebug.plist-さまざまな構成のビルドプロジェクト設定で適切なものを参照しますあなたのプロジェクト。
Xcode 4のアドホックビルドにはコード署名の資格は不要になりました。詳細なメモを参照してください Apple Technical Note TN225
これは、アプリケーションを実行しているデバイスがプロビジョニングプロファイルで選択されていないためです。
証明書、識別子、プロファイルiOS Provisioning Profiles
編集をクリックして、デバイスを選択します
一度このような状況に陥った場合、デバッグ(!)ビルドを電話機にデプロイするには、「get-task-allow」のチェックが必要なようです。これをチェックしてください。
a)ビルド設定を確認します。デバッグ用の「コード署名資格」にエントリがないはずですb)Entitlements.plistを一時的に削除し、デバッグバージョンをビルドします。 Entitlements.plistが欠落していると不平を言う場合は、おそらく同じ状況になっているでしょう。今日は戦わなければなりませんでした。 c)Entitlements.plistで再度ビルドし、「get-task-allow」を有効にします。現在動作している場合、おそらく同じ問題があります。
新しいプロファイルをいじくり回した後、デバッグビルドを電話に展開できませんでした。 AdHocは大丈夫でした。私はチェックa)-空..うーん。私はb)をチェックしました-文句を言います。 c)-働いた...
結局、私はエディターでproject.pbjprojを調べました-GUIは主張していましたが、実際には「コード署名資格」のエントリはないことを「デバッグ」セクションにありました。私はそれを空にして完了しました。
私はちょうどこれとエキサイティングな3時間の戦いをしました。プロジェクトを4.2にアップグレードしましたが、何らかの理由で機能しません。
最終的にEntitlements.plistファイルを削除してから、新しいファイルを作成しました。
ファイル>新規ファイル>コード署名>資格
ファイルにEntitlements.plistという名前を付けます
XCodeのResourcesグループにあることを確認してください。
Entitlements.plistファイルのget-task-allow BOOLタイプには入れませんでした。追加、チェック、保存、チェック解除、保存しました。これで気分が良くなりました。
その後、作成したAdhocプロファイルとReleaseプロファイルを削除しました。プロビジョニングポータルからそれらを再ダウンロードし、xCodeオーガナイザーに戻しました。
次に、ビルド設定に進み、正しいプロファイルがデバッグプロファイルとリリースプロファイルに割り当てられていることを確認しました。
次に、リリース/デバイスに変更しました。ビルドボタンを押すと、うまくいきました。
理由はわかりません。
Xcode 5.1で、[設定]-> [アカウント]-> [詳細の表示]に移動した場合.
署名IDステータスが有効であることを確認します。 [Revoked]と表示されている場合は、[プラス]ボタンを押して、適切な署名ID(iOS開発またはiOS配布)を追加します。 Xcodeはそれを新しい有効なものに置き換えます。
それを解決した私にとって: https://coderwall.com/p/-ckobg
PROVISIONING_PROFILE = ...
"PROVISIONING_PROFILE[sdk=iphoneos*]" = ...
CODE_SIGN_IDENTITY = ...
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ...
ジョンの答えは99%正しいです。 (少なくとも私の構成では)[〜#〜] project [〜#〜]のビルド設定インスペクターを開く必要があることがわかりました。ターゲットのビルド設定には「コード署名資格」が含まれていません。プロジェクト内にターゲットが1つしかない場合、おそらくこれで違いは生じません。ただし、複数のターゲットがある場合は、プロジェクトのビルド設定に移動する必要があります。いずれにせよ、ジョンが言ったことをした後、私のアドホック配布ビルドは完全に機能しました。
これと同じエラーコードを取得しました。これを引き起こすさまざまなものがあるため、それを修正するさまざまな方法があるようです。
私の場合、同じ名前の2つの異なるデバイス(iPhone 4とiPhone 4S)がありました。それらのいずれかの名前を変更すると、このエラーが完全に修正されました...
私が管理しているチームの開発者にこれが起こったのです。
開発者の証明書の有効期限が切れており、更新後、私は彼のアプリが使用したプロビジョニングプロファイルに彼の証明書を追加することを怠っていました。
既存のアプリにiCloudサポートを追加しようとしていましたが、エンタイトルメントを追加してiCloudを設定した後、アプリがデバッグされなくなることがわかりました。
私の一般的なiOS開発証明書には、作業中のアプリとは異なるAPPIDがあることがわかりました。それを修正するために、汎用証明書を使用する代わりに、そのAPPIDに特定の開発証明書を作成しました。
XCodeでプロビジョニングプロファイルを更新し、アプリをクリーンアップし、デバイスを切断し、XCOdeと接続されたデバイスを再起動して実行しました。
pJosh、これは理解に役立つかもしれません。私の場合、アプリのデバイステストプロファイルと同様に、チームプロビジョニングプロファイルが期限切れになりました(プロビジョニングポータルはXCodeによって管理されていることを示しました)。 (まだ理由はわかりませんが、ポータルのチームプロファイルの横に[更新]ボタンがありましたが、クリックしても何もしませんでした。)
そのため、有効期限が切れそうなプロファイルを削除してから、XCodeでオーガナイザーに移動し(Command-Shift-2)、ライブラリ/プロビジョニングプロファイルの下で、有効期限が切れたプロファイルを削除しました。次に、下部の[更新]をクリックし、my Apple IDを入力すると、期限切れのものが更新されます。
最後に、ターゲットで、ビルド設定、コード署名に行き、プロビジョニングプロファイルを選択するようにしました。これで、私のデバイスにビルドされます。
Appleからの新しい更新ライセンス契約に同意していませんでした。
簡単に言うと、開発者のアカウントにログインして->プロフィール->確認->同意書を読むか、弁護士に読んでもらう->同意する(自分の意志で)->もう一度プロフィールをクリックしてプロフィールのステータスを確認してください。
私のシナリオでは、有効なコード署名エンティティが表示されませんでした。上記の手順に従ったとき、それは表示され、デバイスでアプリを実行したり、iPAファイルを作成したりすることができました。
すべてが正しくセットアップされているように見える場合、ビルド設定が正しいプロビジョニングプロファイルを指している場合、コード署名が適切にセットアップされている場合などに、この問題が発生していました。
問題が発生したのは、新しい構成に対して新しいスキームを作成し、CocoaPodsを再生成していないだけだったためです。画像からわかるように、新しいアドホック構成はPods.production
構成ではなくPods.ad-hoc
構成を指している(それぞれテストする)
修正するには:
None
に設定します-これを行わない限り、cocoapodsは設定を生成しませんpod install
を実行しますそれでおしまい!
私もこれと戦うのに数時間費やしました。修正は本当に簡単です。プロジェクトのディレクトリのルートにあるEntitlements.plistファイルを編集します。 <key>get-task-allow</key>
という行を見つけます。その下に<false/>
があるはずです。それを<true/>
に変更します。
これは非常に遅いので申し訳ありませんが、私はちょうどこの質問を見ていて、私のために働く何かを見つけました。私はプロジェクト->ビルド設定に行き、コード署名セクションを見つけました。デバッグのほかに、Iphone Distribution: MY NAME
と言った私の配布プロファイルが選択されました。代わりに、デバイスのプロビジョニングプロファイルであるIphone Developer: MY NAME
の下のドロップダウンリストでIpodProfile (for bundle identifiers com.myName.myApp
を選択しました。お役に立てれば!