46

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

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

私がどこで間違っているのか、誰にもアイデアがありますか?

編集

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

正確なエラーが得られる出力はありますか?

編集

OK、オーガナイザーから問題を示す適切なログを取得しました。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

これが期待どおりに機能しない理由を誰かが明らかにすることはできますか?

編集

ビルドは機能しましたが、何が起こっているのか分からないため、まだ回答を受け入れていません。何が起こっているかについて何か考えがある人はいますか?

4

12 に答える 12

16

ADC のこのスレッドから:

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

于 2009-06-22T08:47:36.180 に答える
6

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

その後、Bundle Identifier (Project -> Info.plist) とアプリ ID を一致させる必要があります。あなたはこのApple Noteを読むことができますApp IDとBundle Identifierの間の不一致

Bundle Identifier が正しくない場合、同様のメッセージ ボックス (2 つ続けて) が表示されました。

于 2009-06-15T21:55:46.320 に答える
3

プロジェクトウィンドウの左側にある[ターゲット]を展開し、アプリ名を右クリックして[情報を取得]、[ビルド]タブに移動し、 [コード署名]の[コード署名ID ]で、[任意のiPhoneOSデバイス]の値を次のように変更することを忘れないでください。あなたの場合は何が当てはまりますか?また、[プロパティ]タブで、選択した識別子と一致するように識別子を設定する必要があります。

それが役立つかどうかはわかりませんが、それは私があなたの説明に欠けているのを見つけたステップです。

于 2009-06-15T19:41:37.873 に答える
2

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

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

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

電話からアプリがインストールされた場所を見つけることができませんでしたが、うまくいきました!

于 2015-08-17T15:23:42.263 に答える
1

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

于 2009-06-15T21:00:54.377 に答える
0

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

于 2010-12-12T17:09:52.873 に答える