VS for MacからのiPhone実機デバッグをしようとしたところ、いくつかハマったのでその回避策やチェックポイントをまとめます。
実機デバッグにおいて起こり得るエラーやその対策を網羅しているわけではないので、この記事を読んでいる方の手元で起こった事象と合致するものがあればラッキーくらいのテンションで読んでいただけると幸いです。
実機デバッグの方法
僕は以下の環境で試しました。
- Visual Studio Community 2017 for Mac (Preview): Version 7.3 Preview (7.3 build 692)
- Xamarin.iOS
Version: 11.4.0.84 (Visual Studio Community) - Xcode: Version 9.0 (9A235)
- iPhone: iPhone5
大まかな手順としては、Xcode からプロビジョニングプロファイルを実機に登録して、VS for Macでそのプロビジョニングプロファイルを使い回すイメージです。
そのため、最初に Xcode を起動することになると思います。
時期的に比較的近い記事だとこちら、
書籍だと
に手順が説明されています。
つまずいたこと
Xcode と VS for Mac (で作成したプロジェクト)でバンドル識別子を合わせる
まず Xcode バンドル識別子に対応するプロビジョニングプロファイルを実機に配置するので、VS for Mac で異なるバンドル識別子を設定している状態だと信頼されている状態にならず実機デバッグできません。
ソリューション名(プロジェクト名)だけ合わせても自動的にバンドル識別子まで合致するとは限りません。
Xcode
VS for Mac
実機のアーキテクチャに合ったビルドオプションを設定する
VS for Mac からアプリの配置時に次のようなエラーが出る場合がありました。
iOS Failed to find matching arch for 64-bit Mach-O input file
そのときはプロジェクトのオプションを次のように設定してみてください。
アプリが信頼された状態になっているか確認する
VS for Mac からアプリの配置時に次のようなエラーが出る場合がありました。
アプリケーション出力では
Could not find developer tools for this 10.3.3
これは僕の場合、実機のアプリを消したり入れたりして信頼された状態にしていなかっただけでした。
実機の「設定」→「一般」→「デバイス管理」→「自分のデベロッパーID」でデバッグ対象のアプリを信頼した状態に設定してください。
ネットに接続する
実機の検証はネットに接続されていないと進みません。
WiFi しか接続できない端末の場合は特に接続状況を確認してみてください。
その他
プロジェクト名にハイフンやアンダースコアが入っている場合も要注意です。