LoginSignup
2
2

More than 5 years have passed since last update.

Xamarin.iOS で Apple Watch を触ってみる( "Add New Project..." から Build まで)

Last updated at Posted at 2016-03-15

前提

この記事は以下の前提がありまーす。

環境

  • OS X El Capitan 10.11.1
  • Xamarin Studio Version 5.10.3 (build 26)
  • Apple Developer Tools Xcode 7.2.1 (9548.1)
  • Xamarin.iOS Version: 9.4.2.27 (Business Edition)
  • 2016/03時点でのDeveloper Member Center及びDeveloper登録

備考

  • 自分用のメモ
  • コーディングはなし

そして現在のXamarin.iOSではWatch OS1しか開発できません。
https://developer.xamarin.com/guides/ios/watch/

なので今更感もありますが、自分の勉強のために作っています。あしからず

以上。

本題

ここに書いてあることをやっています。
個人的には公式のDocumentよりはわかりやすい!
そしてこれ以上に説明することがない!けど備忘録の代わりでもあります。

Develop Member Centerにて

Watch用のApp IDは自動的に作られるわけでもないので独自のルールに沿って作りましょう。

  • com.myapp.ayaseshgroup.com.myapp.ayasesh
  • com.myapp.ayasesh.watchkitextensiongroup.com.myapp.ayasesh
  • com.myapp.ayasesh.watchkitapp

注意点

GroupIDAppIDの後に作っているので
AppIDからGroupIDへのひも付けを忘れないようにしましょう。
そしてひも付けが必要なのはiOSAppWatchExtensionで、Watch Appはしないでください。
(このあたりはWatchOS1の仕様のまま?XamarinでOS2のアプリが作れるようになったら変わる可能性大)

ローカルで実機テストしたい場合は、
上記のAppIDsとGroupIdを作った後、AppleWatchのidentifierを追加しましょう。
自分の環境だとここで登録して作らないとデプロイは無理でした。
(途中までゲージが伸びて落ちるを繰り返す)

ID作成とDevice登録が終わりましたら、ID毎にprovisioning profileを作ればおk。

Xamarin Studioにて

プロジェクト作成

いつもと同じ通りに New Solution... から 
Apple Watchのプロジェクトは直接作れませんので iOSプロジェクトもしくはCros-PlatformのAppから作ります。
Organizationは上記のIDを考慮した方が楽です。
今はgit init.gitignoreを作ってくれるのがいいですね。

プロジェクトができたら、ソリューションを右クリックして Add -> Add New Project... を選択
iOS -> Extension -> Apple Watch -> WatchKit Appで
newProject.png

その後は対象のAppを選択します。間違えることはないですねw
newProject2.png

シミュレーター起動

一応このままでもビルドとシミュレーターへのビルドは出来ます。
早速やってみましょう。

WatchKitExtensionのプロジェクト(長いので移行WKEで)をSet As Startup Projectしてみましょう。
左上の実行できるシミュレーターの数が少なくなったのがわかると思います。
スクリーンショット 2016-03-15 16.51.10.png

きな臭くなってきましたがWatchOS2では開発できないからだと思います。
では適当に選択して実行を押してみましょう。

... 実行できましたか?

実行できない場合

ApplicationOutput
Starting iPhone 6
error MT0000: Unexpected error - Please file a bug report at http://bugzilla.xamarin.com
error HE0020: Could not find a paired Watch device for the iOS device 'iPhone 6'.

この場合はXcodeのバグらしいです。
ただ起動したiPhoneのシミュレーターにWatchのシミュレーターがペアリングされてないのでペアリングしましょう。
Xcodeを開いて Window->Devices 下の+からAdd Simulator deviceとos、Pair用のサイズを選択してください。
注意点はXamarinが対応できるOSとiPhoneを選ぶことです。OSは良いのですが、Deviceは iPhone6にしておきましょう。

info.plistとEntitlements.plistの設定

何も設定していない場合はこんな感じだと思います。
WKAinfo.png
WKEinfo.png
変更点はしいて言えばApplication Nameぐらい。
表示されるのはWKAのApplicationNameなのでそちらを変更しておきましょう

EntitlementsはiOSとWKEのプロジェクトで以下の変更が必要です。
Entitlements.png

証明書の設定

もともとAutomaticになっているので設定いらずです。
ですが確認のために項目が表示されているかはみたほうが良いと思います。

各々のプロジェクトの Option -> Build -> iOS Bundle Signing
順番があるかわかりませんが iOSプロジェクトからやると問題ないと思います。
Xamarin Studioは起動時に証明書のロードしていると思います。
なので表示されない場合は、落ち着いてXSを一度再起動する、またはXcodeからProvisioning Profilesを確認しましょう。

おしまい

自分の環境では上記のやり方でXamarinStudioで実機デプロイまで出来ました。
抜け漏れがありましたらコメントいただけると嬉しいです。

もしくはこれでも出来ないという人もお手伝いできると思いますのでコメントください:)

次はコーディングの予定!
ありがとうございました。

(XFのgestureは諦めた!)

2
2
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
2
2