Upload
-
View
207
Download
0
Embed Size (px)
Citation preview
Apple Watch アプリを作ってみた2015. 07. 31 三宅 暁
Glancely今の時間と今日の天気を素早く確認するためのシンプルなアプリ
Apple Store で無料配信中https://itunes.apple.com/jp/app/glancely/id1010268723?l=ja&ls=1&mt=8
Agenda
• Apple Watch を2ヶ月間使ってみて • Watch アプリでできないこと • Watch アプリ開発
• Programming • Design
• Watch OS 2
Apple Watch を 2ヶ月間使ってみて
• Model • Apple Watch Sport 38mm
• Third party apps • 1Password • Amazon • Apple Store • Do Button • Evernote • Foursquare • Glancely • SoundCloud • Swarm • Twitter • Uber
Good
• デバイスのデザイン • 簡単な情報の確認や単純な操作を素早く行える • 通知を見逃しにくい • アクティビティトラッキング
Not Good• ほとんどの操作に両手が必要 • ホーム画面からアプリを起動するのが煩わしい • レスポンスの悪さ • 操作中のスクリーンオフ • たまに Digital Crown が反応しなくなる • Siri があんまり賢くない • Apple Watch 未対応アプリの通知
Watch アプリで できないこと
• Apple Watch 単体での動作 • Digital Crown の動作のカスタマイズ • Force Touch の動作のカスタマイズ • Taptic Engine の利用 • アプリ内でのインタラクティブなマップの利用 • マイクを用いた録音 • メディアの再生 • 心拍センサやジャイロセンサなどへのアクセス • iPhone アプリのフォアグラウンド起動 • iPhone アプリからのデータの送信 • バックグラウンドでの動作
• Watch アプリはあくまでも iPhone アプリの補助的な位置づけ
• Apple Watch がないと利用できないアプリはリジェクトの対象になる模様
Watch アプリ開発
Programming
アーキテクチャ
• WatchKit App • Apple Watch にインストールされ、Storyboardやイメージなどのリソースを保持
• WatchKit Extension • iPhone にインストールされ、アプリ利用時に実行されるコードを保持
• WatchKit Extension は iPhone 上で実行され、その状態に応じて Apple Watch は表示を更新
• アプリ起動やインタラクティブな操作のたびに、iPhone と Apple Watch の間で Bluetooth による通信が発生
WatchKit Extension• iOS 8 から利用可能になった App Extension と同じような仕組み
• iPhone アプリとは異なる Sandbox 上で動作するため、相互のデータアクセスは基本的に不可
• 利用できない API は App Extension と同様 • UIApplication を取得する sharedApplication • HealthKit と EventKit UI
Embedded Framework & Shared Container
• Embedded Framework • 複数のアプリや Extension で利用するコードをモジュール化することが可能
• Extension から利用する場合は、アクセスする API には注意が必要
• Shared Container • 同じ App Group に属する複数のアプリがアクセス可能な領域
• iPhone アプリと Watch アプリのデータを共有する際にも有効
Design
https://developer.apple.com/watch/human-interface-guidelines/
小さなディスプレイ
テキスト入力には大きな制約
• 選択肢からテキストを選択 • 絵文字 • 音声でテキスト入力
• 小さなディスプレイやデータ入力方法の制限、アーキテクチャに起因するBluetoothの待ち時間から、複雑な操作を要求するアプリは不向き • 多くのコンテンツを閲覧するアプリ • 編集がメインのアプリ • 選択がメインのアプリ
• ユーザの利用シーンを想定しアプリの機能を絞る • 表示するデータを厳選する • 通知を効果的に使う • Notification Action を活用する
Watch OS 2
• ネイティブアプリの開発が可能に • レスポンスの向上
• Complication • 時計のフェイスに情報を表示できるように • アプリへの導線の確保
• Apple Watch の機能やセンサへのアクセス • Digital Crown や Taptic Engine を用いたよりユーザビリティの高いアプリの開発が可能に
• 心拍数を計測したり、ジェスチャーで操作するようなアプリの開発が可能に