XamarinでApple Watchアプリを作る(その1)
Xamarinでの時計開発は日本語どころか英語の記事もほとんどない状況なので、基本的なところだけでも書いておこうかと。 (バージョンの違いで内容が変わるから書けないのかも・・・)
2016/1/15時点での最新バージョンで可能な限りVisual Studio 2015+Xamarinでいきます。 あとこの記事に書いてある「できる/できない」は私の環境での話です。 環境作成がよくないことも多々あるとおもうのであくまで参考程度にしてください。(つっこみお待ちしています)
1回目はテンプレートをシミュレーターで起動するところまで。(それすら大変でした)
iPhoneアプリを作ります
これはテンプレートそのままでいいですね。
作ったソリューションにApple Watchプロジェクトを追加します
これもそのまま。
ここまでマウスだけしかつかってません。 ソリューションはこんな感じになります。
シミュレーターで実行します
MacのXamarin Studioならこのまま実行できるんですけどね。 Visual Studioの場合ビルドすら失敗します。
Identifierの指定
テンプレートのままだとiOSアプリはこんな感じ。 これにWatch側を合わせます。
WAppではCompanion App IDに上記Identifierを指定。(ここがなぜか合ってない)
WKExtensionは上で指定したWAppのIdentifierを指定します。
参照の追加
iOSアプリにはWKExtensionの参照が必要です。
以上でビルドが正常に通るはずです。 Xamarin Studioで作った場合ここまでを自動で設定してくれている、ってことですね。
改めてシミュレーターで実行します
WatchApp1.WKExtensionをスタートアッププロジェクトに設定しておくと、実行対象に「~ + Apple Watch -」が出てくるので、実行すればWatchのシミュレーターがMac上で立ち上がります。
ここだけはVisual Studioの方が優れていて、なぜかXamarin StudioではApple Watchのシミュレーターを起動することができません。(当然デバッグもできません)
実行できました。 マルチスタートアップはうまくいかなかったので、デバッグはどちらかしかできないです。
Xamarin Studio(Mac)でのシミュレーター実行
Watchシミュレーターを起動することはできないのですが、シミュレーターが立ち上がっていればiPhoneアプリのデプロイと同時にWatchアプリもシミュレーターに入ります。 デバッグはできませんが実際に動かすことはできます。