8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio for MacからのiPhone実機デバッグがうまくいかないときに確認するポイント

Last updated at Posted at 2017-10-14

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 を起動することになると思います。

時期的に比較的近い記事だとこちら、

#013 Xamarin を iPhone で動かしてみる

書籍だと

『基礎から学ぶ Xamarinプログラミング』

に手順が説明されています。

つまずいたこと

Xcode と VS for Mac (で作成したプロジェクト)でバンドル識別子を合わせる

まず Xcode バンドル識別子に対応するプロビジョニングプロファイルを実機に配置するので、VS for Mac で異なるバンドル識別子を設定している状態だと信頼されている状態にならず実機デバッグできません。

ソリューション名(プロジェクト名)だけ合わせても自動的にバンドル識別子まで合致するとは限りません。

Xcode

xcode-bundleid.png

VS for Mac

vs4mac-bundleid.png

実機のアーキテクチャに合ったビルドオプションを設定する

VS for Mac からアプリの配置時に次のようなエラーが出る場合がありました。

iOS Failed to find matching arch for 64-bit Mach-O input file

そのときはプロジェクトのオプションを次のように設定してみてください。

ios5.png

アプリが信頼された状態になっているか確認する

VS for Mac からアプリの配置時に次のようなエラーが出る場合がありました。

スクリーンショット 2017-10-14 10.19.54.png

アプリケーション出力では

Could not find developer tools for this 10.3.3

これは僕の場合、実機のアプリを消したり入れたりして信頼された状態にしていなかっただけでした。

実機の「設定」→「一般」→「デバイス管理」→「自分のデベロッパーID」でデバッグ対象のアプリを信頼した状態に設定してください。

ネットに接続する

実機の検証はネットに接続されていないと進みません。

WiFi しか接続できない端末の場合は特に接続状況を確認してみてください。

その他

プロジェクト名にハイフンやアンダースコアが入っている場合も要注意です。

XamarinでiOSの実機デバッグをする方法

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?