よくあるトラブル

Magic Podの使い方 > よくあるトラブル

よくあるトラブル・エラーメッセージと、その解決策についてご紹介します。

Error: Unable to launch WebDriverAgent because of xcodebuild failure: "xcodebuild failed with code 65".

iOS実機にうまく接続できない場合の回避策を試してください。

キーチェーン"ログイン"のパスワード認証に失敗する

iOS実機にはじめてMagic Pod Desktopで接続すると、「codesignは、キーチェーンに含まれるキー"..."へアクセスしようとしています」というメッセージダイアログが出て、パスワードの入力を求められますが、何度入力してもパスワード入力が成功しない場合があります。

この場合は、パスワード関連のエラーが出る場合の回避策を試してください。

error: device unauthorized

  • こちらの方法を試してみてください。
  • 利用しているAndroid SDKのバージョンが古い場合にこの問題が起きている可能性があります。こちらの手順に従い、最新のものをインストールし直してみてください。

simctl error running 'list': dyld: Symbol not found:

Xcodeのバージョンアップなどにより、Xcodeの追加コンポーネントのインストールが必要になっている可能性があります。

Macのアプリケーション一覧から「Xcode」を起動し、「Install additional required components?」というメッセージが表示されたら「Install」を押して追加コンポーネントをインストールしてください。

Error: '**.*' does not exist in the list of simctl SDKs.

指定されたOSバージョンのiOSシミュレータがPCにインストールされていません。テスト編集画面で利用するiOSシミュレータのOSバージョンを変更するか、こちらの手順に従い対応するバージョンのiOSシミュレータをインストールしてください。

Error: Could not extract Info.plist from application

appファイルをiOSシミュレータにうまくインストールできません。こちらを参考にしてください。

This app could not be installed at this time.

appファイルをiOSシミュレータにうまくインストールできません。こちらを参考にしてください。

Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk

原因は不明ですがXcodeがうまく認識できない状態になっています。Macのターミナルを開いて「sudo xcode-select --switch /Applications/Xcode.app」を実行すれば問題が解消されます。

Couldn't find a pair record for device ***. Please first pair with the device

Xcodeがケーブルで接続されたiOS実機を認識できていません。現在接続している実機に対し、iOS実機にうまく接続できない場合の回避策の手順を実施すれば問題は解消されます。

Could not install app: 'Command 'ios-deploy --id *** --bundle ***' exited with code null'

iOS実機端末とMac PC間の「信頼」設定がうまくいっていない可能性が高いです。問題を解消するには、以下の手順を試してみてください。

  1. iOS実機端末の「設定」>「一般」>「リセット」>「位置情報とプライバシーをリセット」を選択して、「信頼されたコンピュータ」の設定をクリアします。
  2. iOS実機端末を再起動します。
  3. iOS実機端末をMac PCにつなぎ、「このコンピュータを信頼しますか?」というメッセージが出たら「信頼」を押します。

うまく行かない場合、「ios-deploy --id *** --bundle ***」の部分のコマンドを直接Macのターミナルから実行すると、より詳細なエラーメッセージが得られます。「A valid provisioning profile for this executable was not found」というエラーが出た場合は、以下の手順でIPAファイルがテスト対象の端末で利用できるかを確認してください。

  1. IPAファイルをコピーして、拡張子を.zipに変更します。
  2. .zipをダブルクリックしてzipを解凍します。
  3. Payload/***.app/embedded.mobileprovisionの内容をテキストエディタでバイナリとして開き、ProvisionedDevicesの中にテスト対象の端末のUDIDが含まれているかを確認します。
  4. 含まれていない場合、IPAファイルは対象の端末上では利用できません。

この場合、以下の手順でIPAファイルを再作成してください。

  1. Apple開発者プログラムのページのDevicesにテスト対象端末のUDIDを登録します。
  2. 1.で利用したApple IDを使って、再度IPAファイル(Ad-HocまたはDevelopmentのもの)を作成します。

appファイルをうまくiOSシミュレータにインストールできない

appファイルに問題がある可能性が高いです。appファイルがこちらの手順に従い正しく作成されているか確認してください。

作成できているという場合は、以下の方法でappファイルが正常に動作するかを確認してください。

  1. 問題のあるappファイルを用意します。クラウド端末にアップロードしたappファイルの場合は、https://magic-pod.com/<組織名>/<プロジェクト名>/<ファイル番号>/get-upload-file のURLにブラウザからアクセスすることで、アップロードされたappファイルを取得できます。
  2. iOSシミュレータを起動します。
  3. 「xcrun simctl install booted <appファイルのパス>」を実行すると、アプリが起動中のiOSシミュレータにインストールされます。
  4. iOSシミュレータ上でアプリをタップして起動できれば、問題なく動作しています。

無料のApple開発者IDでiOS実機にうまく接続できない

可能なら、有料のものを使ってください。

やむを得ず無料のものを使う場合、以下の手順が必要です。

  • 「キーチェーンアクセス」の「証明書」からApple開発者IDに対応するものを探し、表示された「部署」の値を「チームID」として使用します。
  • WebDriverAgentRunner-Runnerのアプリが端末にインストールされるたびに、端末の「設定」アプリの「一般」>「プロファイル」からアカウントを許可する必要があります。
  • 証明書が短期間で切れるので、定期的にiOS実機にうまく接続できない場合の回避策を実施する必要があります。

Enterprise Deploymentのipaファイルを使い、iOS実機にうまく接続できない

可能なら、Ad Hoc DeploymentかDevelopment Deploymentのipaファイルを使ってください。

やむを得ずEnterprise Deploymentのものを使う場合、以下の手順で実機への接続が可能です。

  • ipaファイルを指定して端末との接続を行います。接続は完了しませんが、アプリは実機にインストールされます。
  • iOS実機端末の「設定」>「一般」>「デバイス管理」> 開発元名 >「...を信頼」>「信頼」をタップして開発元を信頼します。
  • 一度Magic Pod Desktopを終了します。
  • 再度ipaファイルを指定して端末との接続を行えば、次回からは接続が成功するようになります。
  • この操作は、iOS実機端末ごとに行う必要があります。

クラウド端末にインストールしたアプリから社内サーバーに接続できない

社内のFireWallの設定などでMagic Podのクラウドからの接続が許可されていない可能性が高いです。Magic Pod開発チームに確認の上、必要なIPアドレスからの接続を許可していただくことにより、この問題は回避することができます。

※ただしこの方法では、Magic Podのクラウドにインストールされた他のアプリからのアクセスもFireWallで許可することになるため、社内サーバ側で別途認証をかけている必要があります。Magic Podが提供するよりセキュアなアクセス方法を希望される方は、お問い合わせください。

Magic Pod Desktopにログインできない

  • メールアドレスの入力エリアにユーザー名を間違って入力していませんか?
  • ブラウザからMagic PodのWebサイトにログインしてみてください。ログインできなければ、メールアドレス・パスワードが間違っています。
  • 設定ファイル(magic_pod_desktop.jsonファイル。詳細はこちら)の内容に誤りはないでしょうか?
    • 設定ファイルはJSON形式で記述されていますか?
    • 設定ファイルに「serverUrl」で始まる1行がある場合、その1行を削除してみてください。
  • 社内プロキシサーバや、手元のPCでローカルプロキシを使っていませんか?これらのプロキシによってMagic Podの認証が失敗している可能性があります。Magic Podの開発者ツールのコンソールに「self signed certificate in certificate chain」というエラーメッセージが出ている場合は、この問題が起きている可能性が高いです。

Error: Could not find a connected Android device

  • Android端末がUSBケーブルできちんと接続できていない可能性があります(うまく接続できていれば、端末の充電マークが充電中の状態になっているはずです)。
  • Android端末の開発者向けオプションの設定が正しくできていない可能性があります。

クラウドのCIサービスで音声入力のテストをしようとすると、アプリがクラッシュする

CircleCIのMacインスタンスなど一部のクラウドCIサービスのマシンではマイクへのアクセスをするとアプリがクラッシュしてしまうようです。Magic Podの提供するクラウド端末ならこのような問題は起こりません。

アプリが起動しない

  • Magic Podのエラーメッセージが何か出ていない確認してください。エラーメッセージが見つかったら、この「よくあるトラブル」ページにエラーに対する解決策が無いか探してみてください。
  • 端末のホーム画面からアプリのアイコンを手動でタップしてアプリを立ち上げてみてください。何かエラーメッセージが出るかもしれません。
  • それでも不明な場合は、Magic Podのサポートまでご連絡ください。
  • Magic Podを使わずアプリを直接端末にインストールして、アプリが立ち上がるか確認することもできます。立ち上がらない場合は、Magic Podでなくアプリのファイルに問題があるので、アプリの開発チームに確認してみてください。
    • iOSのappファイルの場合は、ローカルPCでiOSシミュレータを立ち上げ、appファイルをシミュレータのウィンドウにドラッグ&ドロップすると、アプリがインストールされます。
    • iOSのipaファイルの場合は、こちらの手順に従ってアプリを実機にインストールできます。
    • Androidのapkファイルの場合は、こちらの手順に従ってアプリを実機またはエミュレータにインストールできます。

appファイルをiOSシミュレータ上で起動すると、Macのエラーダイアログが出る

インターネット上からダウンロードしたappファイルをiOSシミュレータにインストールして起動すると、「"..." can't be opened because Apple cannot check it for malicious software.」「"..." is damaged and can't be opened. You should move it to the Trash」のようなエラーダイアログが、シミュレータ上でなくMac上に表示されることがあります。これはそのappファイルに適切な署名がついていないことが原因です。

自社の信頼できるappファイルであることがわかっている場合は、MacのTerminalを開いて以下のコマンドを実行し、その後appファイルをシミュレータにインストールすることで、そのappファイルに対してエラーメッセージが出ないようにできます。

appファイルに署名をするという手もありますが、appファイルは通常社外に配布しないので、そこまで頑張るメリットはあまりないでしょう。

iOSシミュレータのシステムログを確認したい

こちらの手順が参考になります。

複数バージョンのXcodeを切り替えて使いたい

こちらに記載された手順に従い、複数のXcodeをダウンロードし、使いたいバージョンにxcode-select --switchして利用できます。

現在使っているXcodeのバージョンを確認したい

こちらの記事を参考にしてください。

「ウィンドウ」範囲の画面キャプチャ取得時のトラブルと対処策

Mac上のブラウザテストで、「ウィンドウ」範囲の画面キャプチャが真っ暗になる

Mac OS Catalina(バージョン10.15)以上で発生します。

解決するには、Macの「システム環境設定」>「セキュリティとプライバシー」>「画面収録」にて、「Magic Pod Desktop」にチェックを入れ、Magic Pod Desktopを再起動します。

他の関係ないウィンドウの画面キャプチャが取得される

ブラウザウィンドウの上に別のウィンドウがあると、上にあるウィンドウの画像が取得されてしまいます。テスト実行時に他のウィンドウが上にかぶらないようにすることで、問題を回避できます。

外部ディスプレイ上で実行したテストの画面キャプチャが取得できない

複数のディスプレイを使用している場合、テスト実行中のディスプレイを自動検出してキャプチャが取得されます。ただし、以下の場合には正常に取得できません。

  • Macを使っている場合は外部ディスプレイ検出には対応していないため、メインディスプレイでテストを実行してください。
  • テストを実行しているウィンドウが複数のディスプレイにまたがっている場合は正しい検出ができません。いずれか1つのディスプレイにウィンドウが収まるようにしてください。
  • ノートPC等の高解像度ディスプレイと通常の外部ディスプレイを使用している場合は高解像度の方をメインディスプレイにしてください。逆にすると、テスト実行が進まず停止してしまう場合があります。
  • ディスプレイの配置が特殊な場合は検出に失敗することがあります。うまく行かない場合は配置を調整してみてください。
    • 検出可能な例
    • 検出に失敗する例(サブディスプレイの位置がメインディスプレイの端からはみ出している)