Xamarin.iOS
Mac OSが必要
Xamarin.iOSでの開発には(残念ですが)Mac OSが必要です。
アプリケーションの実行はMac上のシミュレーターで実行する必要があり、Storyboardのデザインビュー表示もMac上で起動したホストに接続した状態でないと行えません。
Windows PC上のVisual StudioでiOSのプロジェクトを作成すると、以下の画像のようにXamarin.iOS Build Host(以下Build Host)への接続を促されます。
Build Hostへの接続
iOSアプリの開発には、同じネットワーク内のMac OS上で起動したBuild HostとVisual Studioを接続する必要があります。
Windowsストアアプリを別のPCでデバッグするリモートデバッグの仕組みと似たようなペアリング作業を行います(手順について今回は説明しません)。
Build Hostに接続していることで、Storyboardの編集がVisual Studioで可能になります。
またデバッグもMac OS上でシミュレーターを起動して行います。
ファイル構成
MainStoryboard_iPhone.storyboard
画面および画面遷移を定義するストーリーボードです。
これまではMac上のXamarin Studioでないとストーリーボードは扱えませんでしたが、Mac OS上のBuild Hostと接続することで、Windows上のVisual Studioでもプレビュー表示・編集が可能になりました。
iPadも対応するUniversalなアプリケーションの場合、MainStoryboard_iPad.storyboardも作成されます。
WinRTを用いてWindows PhoneとWindowsストア向けのアプリケーションを作成するプロジェクトを「Universal Windowsアプリケーション」と呼びます。iPhoneとiPadの両方に対応したプロジェクトでもUniversalアプリという用語を使います。筆者はWindowsストアアプリとWindows Phoneの側のUniversalに言及する際はUniversal Windowsと「Windows」をつけるように気を付けていますが、みなさんはいかがでしょうか?
ViewController.cs
正確にはApp4ViewController.csのように頭にアプリ名が付いたファイル名になっています。これはWindowsストアアプリでいうところのコードビハインド(.xaml.cs)的な役割を持つファイルです。ページに紐づけることが可能で、イベントハンドラーなどを記述できます。
Info.plist
アプリケーションの情報を設定するファイルです。サポートするデバイスの向きや、アイコンファイルの指定などを行います。WindowsストアアプリでいうPackage.appxmanifestのようなファイルです。
デバッグする
Visual StudioからXamarin.iOSのデバッグを行うには、先ほど言及したBuild Hostへ接続していることが必要です。
Build HostからMac OS上のシミュレーターが起動され、デバッグが実行されるので、ブレークポイントで停止して変数を確認する作業などはVisual Studio上でできますが、画面の操作はMac OS上のシミュレーターを操作する必要があります。
このため、Xamarin.iOSの開発はMac OS上で仮想化されたWindows上のVisual Studioで行うか、Mac OS上でXamarin Studioを起動して行うのがおススメです。
以前はWindows物理PCからMac OS上のBuild Hostに接続しようとすると接続できなかったり、気が付いたら接続が切れていたりということがありましたが、Xamarin 3では(筆者の体感では)改善されています。