【mac不要】Windows機のみでiOSアプリの実機デバッグを行う方法

iOS/Android

今回はWindows上の仮想MacOSのXcodeを使って、Windows側Visual Studio(Xamarin.iOS)にて実機ビルドを行っていきます。
※現時点では iOS Developer Program に加入している必要は無し

実行環境
  • Windows 10 Pro 1809
  • Visual Studio 2017 Community
  • VMware Workstation 15 Player
  • Mac OS 10.14.4 Mojave
  • Xcode 10.2.1
  • Xamarin.iOS 12.4.0.64
  • iPone 7 iOS12.2
スポンサーリンク

Xamarin.iOSのバージョンを合わせる


Win側とMac側同時にインストールを行っていれば、共に最新版がインストールされるので問題ないですが、入れる時期がずれちゃうとXamarin.iOSのバーションがずれてしまいビルドが出来なくなります。で、そういった場合はバージョンを合わせる必要が有るのでまずはそれぞれのバージョンを確認します。

■Windows
メニューから [ヘルプ] ➡ [Microsoft Visual Studioのバージョン情報]
下の方にスクロールしていくと、Xamarin.iOS and Xamarin.Mac SDK があります。

■Mac
メニューから [Visual Studio] ➡ [Visual Studio Community のバージョン情報] ➡ [詳細の表示]

今回は合ってるので問題ないですが、合ってない場合はアップデートを掛けて新しい方に合わせましょう。どうしても現存のプロジェクト・フレームワークの互換性等でアップデートを掛けれない場合は、過去バージョンに巻き戻して自動アップデートを止める事も可能ですが、後々の事を考えたらば余程で無い限り最新にしときましょう。

アカウント作成


バージョンが確認出来たらお次はMacのXcodeでProvisioning Profileをひねり出すために、
まずはアカウントの作成を行います。(既存のものがあればそれでも全然OK)
[Xcode] ➡ [Preferences…] ➡ [Accounts] の左下+を押してApple IDでContinue

作成出来たら元の画面に戻り追加したユーザを選択して、Manage Certificatesを押します。
で、次の画面の左下の+を押して iOS Development を選択し、右下Doneで閉じる。
最後にDownload Manual Profiles を実行

Provisioning Profile 作成


いよいよひねり出します。何でも良いのでXcodeで新規プロジェクトを立ち上げます。
今回はWIN側Xamarin.iOSを軸にするので適当にデフォルトの Single View App にしときます。

次画面では何かしらプロジェクト名を記入し、さっき設定したApple IDをTermで選択、Organization Identifierを入力する。他はデフォルトでOK
Nextで保存先が出るので問題なければそのままCreate

プロジェクトが作成できたら設定情報が表示される。
Bundle Identifierを記入する。
これが一番大事な項目。デフォルトのままでも問題ないが他と被るとエラーが出てしまうので気を付ける。WIN側で使うのはこの項目だけ。忘れないようにメモっときましょう

あとは、Automatically manage signingをチェックし、先程のApple IDを選択する。
➡ここでエラーが出る場合名前被りの可能性大

Macに実機を認識させる


実機iPhoneをPCに接続する。
するとどっちに接続するか選択しが出るので、仮想マシンにチェックをしOK
無事VMwareに認識されれば右上アイコンが[apple iPhone]と緑色点灯します。

VMwareのUSB設定が3.0だとMacが認識しないので、
[Player] ➡ [管理] ➡ [仮想マシン設定] ➡ [ハードウェア] ➡ [USBコントロ-ラー] ➡ [USBの互換性] の項目を3.0から2.0にすべし

Xcodeでも無事に認識出来たら一度ここで実行してみましょう。
ウィンドウ左上にデバッグのOSを選べるところがあるので、クリックすると実機を選択できる。で、実行してみると実際にアプリが配置されるが起動しない…
何故ならブロックをされているからなのです。 iPhone側で
[設定] ➡ [一般] ➡ [デバイス管理] ➡ 信頼

上記操作後もう一度実行すると問題なくBlankAppが立ち上がる

Windowsで実機デバッグ


次にWin側のVisual Studioで前回作ったアプリを開くか、新規でBlankAppを作成する。

プロジェクト内あるInfo.plistを選択したら、バンドル識別子にさっきのBundle Identifierを記入する。 これでMac側のXcodeと紐づけが完了し、実機を選択できるようになります。

で実機を選択しデバッグを行うんだけども初回はとにかく時間がかかる。
でもiPhoneにはちゃんと転送はされているので気長に待つべし
Xcode側でビルドしたアプリを上書く形でBlankAppが実行される。

念願の実機Welcome to Xamarin.Forms!


途中色々はまる要素が多かったけど、これで後はWIN上C#で開発が出来ます。
仮想Macは起動してないとだめ ※サスペンドもだめ

コメント