web-dev-qa-db-ja.com

iPhoneデバイス用のアプリをビルドするときに、アプリケーションを検証できませんでしたエラー

OK、新しいMacBook Proを手に入れたばかりで、別のMacBookでiPhoneアプリを開発していたので、開発を新しいコンピューターに移行したかったのです。

アプリをビルドしてシミュレーターで問題なく実行できる段階になりましたが、iPhoneでアプリを実行することになると、「アプリケーションを検証できませんでした」というメッセージが表示され続けます。新しい開発者証明書をインストールし、プロビジョニングプロファイル(すべて新しく生成されたもの)をインストールしましたが、エラーが発生する理由がわかりません。

誰が私が間違っているのかについてのアイデアはありますか?

[〜#〜] edit [〜#〜]

証明書とプロファイルを再作成しました...ビルドが成功し、下部のステータスが「デバイスにインストール中」に達すると、同じ「アプリケーションを確認できませんでした」という2つのモーダルダイアログが表示されます" エラーメッセージ。

正確なエラーを表示できる出力はありますか?

[〜#〜] edit [〜#〜]

オーガナイザーから問題を示す適切なログを取得しました。 Entitlements.plistをセットアップしていないように見えますが、xcodeでは持っています。 (Entitlements.plist foleを追加し、get-task-allowのチェックを外してから、Entitlements.plistをCode Signing Entitlementsのプロジェクト設定に追加しました)。ログは次のとおりです。

Tue Jun 16 07:35:42 unknown mobile_installation_proxy[1162] <Error>: install_embedded_profile: Skipping the installation of the embedded profile
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:42 unknown securityd[1158] <Error>: mobile_installat[1162] SecItemCopyMatching: missing entitlement
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: entitlement 'get-task-allow' has value not permitted by a provisioning profile
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: verify_executable: Could not validate signature: e8008016
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: preflight_application_install: Could not verify /var/tmp/install_staging.1WIVsB/BouldrData.app/BouldrData
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: install_application: Could not preflight application install
Tue Jun 16 07:35:43 unknown mobile_installation_proxy[1162] <Error>: handle_install: Installation failed
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: user mobile has uid 501
Tue Jun 16 07:51:53 unknown afcd[1181] <Error>: mode is 0x41e8

なぜこれが期待どおりに機能しないのか、誰にも光を当てることができますか?

[〜#〜] edit [〜#〜]

ビルドは動作しましたが、何が起こっているのかわからないので、まだ答えを受け入れていません。何が起こっているのかについて何か考えがありますか?

46
Codebeef

ADCのこのスレッド から:

get-task-allowは、アプリケーションにサインインすると、他のプロセス(デバッガーなど)がアプリケーションにアタッチできるようにします。配布プロファイルではこの値をオフにする必要がありますが、開発プロファイルではこの値をオンにする必要があります(そうしないと、Xcodeが起動してアプリにアタッチできなくなります)。

16
Codebeef

私の問題は、実際には、機能するアプリを削除した後、スマートフォンのテストフライトを介してアプリをインストールしたことです!

93
Ruud Visser

既にインストールされているビルドを電話から削除して、ビルドを再インストールすることで解決しました。

32
Ali

IPhoneが適切にプロビジョニングされているかどうかを確認します。 iPhoneを接続し、XCodeからOrganizerを起動して(メインメニュー->ウィンドウ-> Organizer)、(PROVISIONING PROFILES情報。

その後、Bundle Identifier(Project-> Info.plist)とアプリIDを一致させる必要があります。これを読むことができますApple NoteアプリIDとバンドル識別子の不一致

Bundle Identifierが間違っていたときに、同様のメッセージボックス(2行で)が表示されました。

6
MikZ

プロジェクトウィンドウの左側にある[ターゲット]を展開し、アプリ名を右クリックして[get info]を選択し、Buildタブとコード署名の下コード署名IDAny iPhone OSデバイスの値をあなたのケースに当てはまるものに変更しますか?また、[プロパティ]タブで、選択した識別子と一致するように識別子を設定する必要があります。

それが役立つかどうかはわかりませんが、それはあなたの説明に欠けていることがわかりました。

3

あなたはすでにこれのいくつかをチェックしたことを知っていますが、ちょうどそのようにこの答えは完全です:

  • デバイスにインストールするビルド設定ごとに、新しいプロビジョニングプロファイルと証明書の名前がtargetレベルであることを確認します。
  • コード署名資格は、プロジェクトではなくtargetレベルでも定義する必要があります。
  • ビルドログを再確認して、CodeSignを含む行を探します。そこにあることを確認し、期待する証明書を使用します。
  • 他のすべてが失敗した場合、ターゲットからコード署名IDを削除し、すべてのターゲットを削除し、プロジェクトからビルドディレクトリを削除し、Xcodeを終了して再起動し、コード署名IDを置き換えて、ビルドを再試行します。
2
Steve Madsen

問題は解決しました(少なくとも私にとっては!)

動作するマシンで開発者プロファイルをエクスポートしてから、問題のあるマシンにインポートします。設定/アカウント、下部の歯車アイコンを確認します。

1
Jeff Klein

[ウィンドウ]> [デバイス]に移動し、インストールされているアプリを見ると、アプリが既にインストールされていることがわかりました。アプリを選択し、「-」を押してデバイスから削除します。そのデバイスをターゲットとしてアプリを再構築してみてください。

電話からアプリがインストールされている場所を見つけることができなかったにもかかわらず、私のために働いた!

1
nyarasha

「アプリケーションを確認できませんでした」、お使いのデバイスには、同じバンドル識別子でインストールされたアプリが既に存在する可能性があります。

この問題は、App Storeのアプリがあったため、Xcode。&の更新バージョンをライブアプリと同じ識別子でテストしていたために発生しました。

とても簡単な解決策アプリを削除して再度インストールするだけです。

1
Aks

コード署名の検証に加えて、必ず[ビルド]メニューに移動し、[すべてのターゲットをクリーンアップ]を実行してください。 Xcodeは時々混同されます。

1
Alan

1つの重要ですが見落としやすい項目:すべてのプロビジョニングキーと証明書がloginキーチェーン上にあることを確認してください。新しい「開発」キーチェーンを作成しようとしたときにこれに遭遇し、すべてのプロファイルが「無効」になりました。

0
Nick Baicoianu