VisualStudio2017 Preview (15.40)で「Macなし」でiOSアプリ開発

以前からWindows + VisualStudio上で、C#を使ったiOSアプリの開発はありました。ソースコードをWindows上で開発し、Xcodeプロジェクトを生成した後にMacでビルドする方法で、今もこの手法は変わらないです。

ところが、今年の秋にアップデートされるVisualStudio2017(15.4)では、実機でのデバッグ開発までは、Mac機が不要とのこと。さっそく試してみたので、その手順などを備忘録として残しておく。

参考サイト

http://ytabuchi.hatenablog.com/entry/2017/05/31/130000
http://jp.techcrunch.com/2017/05/12/20170511microsoft-now-lets-ios-developers-deploy-run-and-test-their-apps-directly-from-windows/

どういう仕組みなのか?

「Macなし」の種明かしですが、Xamarin Live PlayerというiOSアプリを無料をiPhoneにインストールしておきます。このPlayerを起動している状態で、後述するペアリングしたWindows開発機のVisualStudio上からデバッグ実行すると、ビルドしたモジュールをiPhoneのPlayer対して、転送して起動させるというものです。なので、あくまでPlayer上でエミュレータアプリが動いているようなイメージだと思います。

しかもリモートデバッガが使えるようなので、実機でしか確認できないデバッグを面倒な手順を踏まずに実行できるのはすごいです。当方はMacも所有していますが、あたらしくObjective-CやらSwiftやらを習得するほどのモチベーションが今のところないので、C#+VisualStudioで気軽に開発テストできる環境がやっと揃ってきたのがうれしいです。

最終的にはMacが必要になるのは仕方ないとして、長年Mac使ってきましたが、総合的にみるとやはりWindowsかLinuxのほうが開発に向いている気がします。なので、大半の作業をWindows機でできるようになると、俄然やる気がでてきます。

環境構築

9/15の時点で正式ダウンロードできるVisualStudio2017のバージョンは*15.3"になります。このバージョンだと、上述するXamarin Live Playerとの連携ができないので、別途Preview版をダウンロードする必要がある。(すでにVS2017がインストールされていても共存可能)

https://www.visualstudio.com/ja/vs/preview/

インストーラを起動したら、.NETによるモバイル開発を選択します。オプションが右側に列挙されるが、すべてオフで構わない。あれこれインストールすると、ものすごいサイズのHDDを消費するので注意。あとからいつでも追加できるので、最小構成で問題なし。

インストール直後のバージョン情報は以下になる。

VisualStudioインストール後、「ツール」-「拡張機能と更新プログラム」からXamarin Updaterをインストール。ほかのサイトで、そう書いてあったので実行した。

次にiPhoneを使って、App Storeからxamarin live playerをダウンロードしておく。

さっそくやってみる

とりあえず確認するために、適当なiOS用のプロジェクトをダウンロードしてみる。

以下のコードが小さそうなので、ダウンロードして試してみる。

ソリューションファイルを選択してVSでロードしたら、デバッグ実行ボタンでLive Playerを選択して実行する。QRコード画面が表示される。

iPhoneでダウンロードしたXamarin Live Playerを起動したら、最初に「Pair to Visual Studio」でペアリングする。

QRコードを読み込む状態になるので、VisualStudioで表示しているコードを参照すると、自動的にペアリングが完了して、リモートからプログラムが飛んでくるのを待つ状態になる。

Visual Studioからデバッグ実行すると、以下のようにアプリがPlayer上で起動する。

ここまでMacを使わずに実行できた。ただ、すべてフルサポートしているわけではなく、ほかのサンプルなどはエラーになり起動できないものがかなりあるので、これから期待という状態であるので、当面はXamarin AgentでMacに接続するスタイルは当分続きそうではある。