xamarin で apple watch アプリを作る
TRANSCRIPT
Xamarin'でApple%Watch%アプリを作る
自己紹介• 宇佐見"公輔"(@usamik26)
• フェンリル株式会社
• iOS"アプリ開発
• Swi1"/"Objec7ve9C"(+"Reac7ve"frameworks)
• Xamarin"+"MvvmCross
WWDC$15
• 6/8%(月)%~%6/12(金)
• サンフランシスコ
• OS%X%10.11%/%iOS%9%/%watchOS%2
• Swi4%2
Xamarin'WWDC'Party':'6/9(火)
Agenda• Apple&Watch&とは
• Apple&Watch&アプリの構成
• Xamarin&での開発のしかた
• watchOS&1&から&watchOS&2&へ
Apple%Watch%とは
Apple%Watch%の種類
iPhone'&'Apple'Watch
• iPhone(とペアリング必須
• Watch(単独でできることは少ない
• Watch(で通知を受け取れる、いくつかのリアクションができる
• Watch(内蔵センサで取得したデータが(
iPhone(に蓄積される
Apple%Watch%の%UI
グランス!/!通知
Apple%Watch%アプリの構成
WatchKit• Watch'のアプリを作るための'SDK
• Watch'のアプリは、開発者向けドキュメントでは「WatchKit'App」と呼ばれている
WatchKit(のドキュメント• Apple&Developer
• h,ps://developer.apple.com/watchkit/
• Human&Interface&Guidelines&/&Programming&Guide
• Xamarin&Developer
• h,p://developer.xamarin.com/guides/ios/watch/
WatchKit(App(の構成• 3#つのターゲット
• iOS#App
• WatchKit#Extension
• WatchKit#App
Extension)と)App• WatchKit)Extension
• 実行コード)/)iOS)端末上に配置
• WatchKit)App
• UI(storyboard))/)Watch)端末上に配置
• BLE)通信で連携して実行される
Xamarin'での開発のしかた
DemoWatchKit(App(を新規作成してみる
新規作成!Demo!まとめ• iOS%App%と同じソリューションで%WatchKit%App%新規作成
• 参照設定(自動的に行われる)
• iOS%App%.>%WatchKit%Extension%.>%WatchKit%App
• Bundle%ID%設定(自動的に行われる)
• WatchKit%Extension%.>%WatchKit%App%.>%iOS%App
• Startup%Project%は%WatchKit%Extension
Interface.storyboard
• WatchKit)App)の)UI)を定義する)
Storyboard
• View)はすべて)Storyboard)上で定義(コードでは生成不可)
• あらかじめ用意されている)View)しか使えない(カスタム)View)不可)
• WatchKit)App)のエントリポイントのほか、Glance)や)No;fica;on)のエントリポイントもある
DemoWatchKit(Extension(でのコード記述
コード記述!Demo!まとめ• WKInterfaceController/でコード記述
• iOS/での/UIViewController/にあたるクラス
• UI/のアクションを記述
iOS$App$と$WatchKit$App$の連携• App$Group$を使う
• Bundle$ID$と$Provisioning$Profile$の設定
• NSUserDefaults$/$ファイル$/$CoreData$を共有
• このあたり$Xamarin$Developer$のドキュメントを読むとよい
watchOS(1(から(watchOS(2(へ
iOS$9$/$watchOS$2• iOS%9%と%watchOS%2%の正式リリースは秋
• (例年どおりなら9月)
• 現在、iOS%9%のパブリックベータ版が配布されている
• 開発者向けには従来通り%iOS%9%と%watchOS%2%のベータ版が配布されている
Xamarin'の状況• iOS%9%対応の%Preview%版がリリースされている
• watchOS%2%には未対応
watchOS(2
Watch&側での動作• WatchKit)Extension)のコードが)Watch)上で動くようになる
• BLE)通信をはさまない分の速度向上が見込まれる
• 従来)framework)が)Watch)側で動作するようになる
• Watch)単独での)HTTP)通信や位置情報取得
Watch&Connec+vity• iOS%App%と%WatchKit%App%との連携の新しい手段
• 双方向データ転送
• iOS%側を起点に%Watch%側に何かをさせることが可能
• (watchOS%1%では難しかった)
View%の追加• アラート
• アクションシート
• ピッカー
• マイク録音
• メディア再生
Watch&内蔵センサへのアクセス• 加速度センサ
• 歩数計
• マイク
• ・・・など
Watch&Complica-on
• Watch'Face'に独自の内容を入れられる
• ClockKit'という専用'API
Apple%Watch%の可能性が広がる• watchOS)1)の)Apple)Watch)は、周囲の期待の大きさと実際にできることのギャップが大きかった
• それが分かっていて使うユーザには受け入れられているが、そうでないユーザには受け入れられていないのが現状
• Watch)の企画)0>)それサードパーティ製アプリではできません・・・
• これらが解消されていくはず
Apple%Watch%アプリは今後に期待が持てそう