iOS実機にうまく接続できない場合の回避策

Magic Podの使い方 > iOS実機にうまく接続できない場合の回避策

iOS実機を使ったテストにおいて、端末への接続やテスト実行の際に「Error: Unable to launch WebDriverAgent because of xcodebuild failure: "xcodebuild failed with code 65".」というエラーが起きることがあります1 。現状こうしたエラーが起きた場合は、以下のようにXcodeでダミーのProjectを作成することで、必要な設定が自動的に行われます。

目次

    1. エラーを回避するための設定
    2. パスワード関連のエラーが出る場合
    3. それでもうまくいかない場合

エラーを回避するための設定

まず最初に、テスト実行に利用するiOS実機をUSBケーブルでMac PCに接続しておきます。

続いて、Macのアプリケーション一覧から「Xcode」を開きます2 。(図1)

Xcode

図1 Xcode

起動したら、画面上部メニューから「File」>「New」>「Project」を選び、iOSの「Single View Application」を選んで(他の種類のiOSのアプリケーションでも可)「Next」を押します。(図2)

iOSアプリケーションの選択

図2 iOSアプリケーションの選択

続いてプロジェクト情報の指定画面で以下の値を指定します。(図3)

  • 「Organization Identifier」が空の場合は、世の中にある他の組織と重複しない適当な値を指定します。
  • 「Organization Name」が空の場合は、そちらも適当な値を指定します。
  • 「Product Name」に、組織内の他のアプリと重複しない適当な値を指定します。
  • 「Team」の項目に、今回の実機テストで利用する「チームID」に対応するApple IDのTeamを選びます3
Projectの設定

図3 Projectの設定

その後「Next」を選び、次画面で「Create」を選ぶと、Projectが作成されます。

作成したProject情報の画面が表示されたら、画面左上の端末表示を、現在USBケーブルで接続されているiOS実機に変更します。(図4)

端末の切り替え

図4 端末の切り替え

この画面にて、図5のように「Signing」のセクションに「Team」が指定され、エラーが出なくなっていれば設定は完了です。

Signingの設定が成功した場合

図5 Signingの設定が成功した場合

図6のようにエラーが出ている場合は、iOS実機をUSBケーブルで接続して「Register Device」ボタンを押す、などしてエラーを解消してください。

Signingの設定でエラーが出ている場合

図6 Signingの設定でエラーが出ている場合

iOS実機テストを実行する際には、テスト編集画面にて、図7のように「WDA用バンドルID」に<Xcodeで作成したOrganization Identifier>.<Xcodeで作成したProduct Name>の値を指定してください。

WDA用バンドルIDの指定

図7 WDA用バンドルIDの指定

最後にiOS実機端末を再起動します。(図8)

iOS実機の再起動

図8 iOS実機の再起動

この状態で端末への接続やテスト実行を行えば、エラーが出なくなるはずです。

パスワード関連のエラーが出る場合

codesignのパスワード認証ダイアログ(図11)にて、何度パスワードを入力しても成功しなかったり、Xcodeの「signing」のセクションで「The user name or passphrase you entered is not correct.」というエラーが出たりする場合は、以下の手順で問題を解決できるはずです。4

  • 「アプリケーション」>「ユーティリティ」フォルダから起動できる「キーチェーンアクセス」(図9)にて、「ログイン」の項目を右クリックして「キーチェーン"ログイン"をロック」を選び(図10)、続いて「キーチェーン"ログイン"のロックを解除」を選んでパスワードを入力し、ロックを解除状態に戻します。5
キーチェーンアクセス

図9 キーチェーンアクセス

キーチェーン"ログイン"をロック

図10 キーチェーン"ログイン"をロック

  • 図11のパスワード認証ダイアログでは、パスワードを入力後に、「許可」ではなく「常に許可」を選択するようにします。
codesignのパスワードダイアログ

図11 codesignのパスワードダイアログ

上記を実施後、エラーを回避するための設定をやり直してください。まだエラーが出る場合は、キーチェーン「ログイン」のロックとロック解除を再度試してください。6

それでもうまくいかない場合

まずは以下の点を確認してください。

  • 上記の設定作業において使用したTeamは、iOS実機のテストで指定しているTeam IDに対応するものですか?
  • 上記のXcodeの設定作業において、Project画面左上の端末表示は、USBケーブルでPCに接続した端末になっていますか?
  • 複数のXcodeをPCにインストールしている場合、設定を行ったXcodeのバージョンと、テストで利用しているXcodeのバージョンは同じですか?
  • iOSシミュレータが起動していませんか?起動している場合は終了してください。

特に問題無いようなら、Apple開発者プログラムのiOSの「Certificates, Identifiers & Profiles」のページにログインし、さらに次の点を確認してください。

まず、Certificatesの項目にCertificateが登録されていることを確認してください。(図12)

Certificatesの設定

図12 Certificatesの設定

次に、「App IDs」の項目に、IDが「*」のApp IDが登録されていることを確認してください。(図13)

App IDsの設定

図13 App IDsの設定

最後に、「Devices」の項目に、テストで利用する端末が登録されていることを確認してください。(図14)

Devicesの設定

図14 Devicesの設定

Xcodeの設定がうまくいった場合は、上記3点の情報が自動生成されているはずです。うまく生成されていない場合は、Xcodeの設定をもう一度やり直すか、Apple開発者プログラムの画面上から情報を直接作成・編集してください(直接作成・編集をした場合は、念のためエラーを回避するための設定をやり直してください)。

それでもまだうまくいかない場合は、下記を実施すると問題が解消される可能性があります。

  • /Users/ユーザー名/Library/MobileDevice/Provisioning Profiles以下にある「プロビジョニングプロファイル」の削除し、エラーを回避するための設定をやり直す

それでもさらにうまくいかない場合は、可能性は低いですが下記手順で問題が解消される可能性があります。

  • /Users/ユーザー名/Library/Developer/Xcode/DerivedData以下にある、「WebDriverAgent-***」のディレクトリを削除する
  • MacのActivity Monitorでiproxyという名前のプロセスが無いか調べ、あれば全て終了しておく
  • iOS実機端末にWebDriverAgentRunnerのアプリがインストールされている場合は、アンインストールしておく
  • Xcodeの「キーチェーンログインのパスワードを入力してください」でパスワードが通らないのページに記載された、XcodeのApple IDおよび証明書を再取得する手順を試す

 

  1. こちらのページに記載されている、Appium及びXcodeの問題です。 []
  2. 複数のバージョンのXcodeがPCにインストールされている場合は、テストで利用しているXcodeと同じバージョンのものを開いてください []
  3. Teamの選択肢が複数あってどれか分からない場合は、Xcode上部メニューの「Xcode」>「Preferences」>「Accounts」の「Apple IDs」の項目で、Apple IDとTeamの対応を確認できます。 []
  4. エラーの原因はXcodeの何らかのバグだと思われます。 []
  5. The user name or passphrase you entered is not correct. []
  6. パスワード認証ダイアログで「拒否」を押してしまった場合にも、キーチェーン「ログイン」のロックとロック解除を行うことで再度ダイアログが表示されるようになります。 []