web-dev-qa-db-ja.com

実際のデバッグApple Watch:Application Verification Failed

WatchKitアプリを本物のApple今日の時計でデバッグしようとしました。Xcodeの[デバッグ]ボタンを押した後、メインのiPhoneアプリは正しくインストールされましたが、Apple = Watchはメッセージのみを表示しましたFailed to xxx、error:Application Verification Failed。WatchKitアプリはインストールされません。

私はこれに気づいていました: 「インストールに失敗しました」でWatchKitアプリが拒否されました ですが、私のXcodeプロジェクトファイルは大丈夫なので助けにはなりませんでした。

実際のApple Watch?

58
zavié

Apple WatchのUDIDをApple開発者ポータルに追加し、開発プロビジョニングを更新する必要がありますこのUDIDを含めるプロファイル。

UDIDは、XcodeのDevicesウィンドウで取得できます。ペアリング後、Apple Watchの情報がiPhoneの情報の下に自動的に表示されます。

執筆時点では、これはどこにも文書化されていないようであり、Apple Watchのエラーメッセージは特に役に立ちませんでした。面倒。

80
zavié

上記のUDIDの問題が原因である可能性がありますが、私の場合は、Xcodeによって自動的に処理されました。デバイスログ(メニューウィンドウ>デバイス)を見ると、次のことがわかります。

companionappd [350]:WatchKitアプリケーションのインストールに失敗しました、エラー:(エラーDomain = LaunchServicesError Code = 0 "操作を完了できませんでした(LaunchServicesErrorエラー0.)" UserInfo = 0x14e2f690 {Error = ApplicationVerificationFailed、ErrorDetail = -402620394、 ErrorDescription =コード署名の検証に失敗しました:0xe8008016(プロビジョニングプロファイルで許可されていない資格が見つかりました)})

...ビルドプロセスに巻き込まれず、画面上のエラーで明示的に共有されなかった問題。

それで、私は資格を見ました:

enter image description here

はい、手動で追加する必要がありましたbeta-reports-active TestFlightに送信するため。

TestFlight(およびデフォルトの資格以外のもの)を使用している場合はフラグが必要なようですが、notローカルでデバッグしています。

したがって、この矛盾に対する私の解決策は、2つの資格ファイルがあるです。

enter image description here

ここまでは順調ですね。アプリとウォッチ拡張機能は期待どおりに実行されています。

3
SG1

基本的に、2つのステップを実行する必要があります。

  • AppleウォッチのUDIDを開発者ポータルに追加します
  • 監視をサポートするためにプロビジョニングプロファイルを更新する

XCodeはプロセス全体を管理できます。

1。 iPhone/iPadにアプリをデプロイします

enter image description here

2。 iPhone/iPadでもWatchKitアプリを起動します(シミュレーターではありません)

enter image description here

3。コード署名エラーメッセージが表示されたら、[問題の修正]を選択します

enter image description here

4。開発チームを選択し、XCodeに残りを任せます

短いチュートリアルを書いた これについても。

3
Stefan

Xcodeの「デバイス」表示で下にスクロールすることを忘れないでください。 Xcode->ウィンドウ->デバイス->「NameOfiPhone」を選択し、右側の「デバイス情報」ウィンドウで下にスクロールします。次に、ペアリングされたデバイスが表示されます。うん、私はこれを認めています:-)

2
Wallace Duncan

それぞれにAppIDが必要です。たとえば、アプリのバンドルIDが「com.xyz」の場合、3つのappidとプロビジョニングプロファイルが必要です

  1. com.xyz
  2. com.xyz.watchkitapp
  3. com.xyz.watchkitapp.watchkitextension

それぞれのプロビジョニングを作成し、関連するターゲットに割り当てます。

これでこの問題は解決します。 iphoneとwatchのUUIDをこれらのプロファイルに追加する必要があります。

また、すべてのターゲットのバージョンが同じである必要があります。

1
Vipendra Gupta