31
Apple Watch アプリを作ってみた 2015. 07. 31 三宅 暁

Apple watchアプリを作ってみた

  • Upload
    -

  • View
    207

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Apple watchアプリを作ってみた

Apple Watch アプリを作ってみた2015. 07. 31 三宅 暁

Page 2: Apple watchアプリを作ってみた

Glancely今の時間と今日の天気を素早く確認するためのシンプルなアプリ

Page 3: Apple watchアプリを作ってみた

Apple Store で無料配信中https://itunes.apple.com/jp/app/glancely/id1010268723?l=ja&ls=1&mt=8

Page 4: Apple watchアプリを作ってみた

Agenda

• Apple Watch を2ヶ月間使ってみて • Watch アプリでできないこと • Watch アプリ開発

• Programming • Design

• Watch OS 2

Page 5: Apple watchアプリを作ってみた

Apple Watch を 2ヶ月間使ってみて

Page 6: Apple watchアプリを作ってみた

• Model • Apple Watch Sport 38mm

• Third party apps • 1Password • Amazon • Apple Store • Do Button • Evernote • Foursquare • Glancely • SoundCloud • Swarm • Twitter • Uber

Page 7: Apple watchアプリを作ってみた

Good

• デバイスのデザイン • 簡単な情報の確認や単純な操作を素早く行える • 通知を見逃しにくい • アクティビティトラッキング

Page 8: Apple watchアプリを作ってみた

Not Good• ほとんどの操作に両手が必要 • ホーム画面からアプリを起動するのが煩わしい • レスポンスの悪さ • 操作中のスクリーンオフ • たまに Digital Crown が反応しなくなる • Siri があんまり賢くない • Apple Watch 未対応アプリの通知

Page 9: Apple watchアプリを作ってみた

Watch アプリで できないこと

Page 10: Apple watchアプリを作ってみた

• Apple Watch 単体での動作 • Digital Crown の動作のカスタマイズ • Force Touch の動作のカスタマイズ • Taptic Engine の利用 • アプリ内でのインタラクティブなマップの利用 • マイクを用いた録音 • メディアの再生 • 心拍センサやジャイロセンサなどへのアクセス • iPhone アプリのフォアグラウンド起動 • iPhone アプリからのデータの送信 • バックグラウンドでの動作

Page 11: Apple watchアプリを作ってみた

• Watch アプリはあくまでも iPhone アプリの補助的な位置づけ

• Apple Watch がないと利用できないアプリはリジェクトの対象になる模様

Page 12: Apple watchアプリを作ってみた

Watch アプリ開発

Page 13: Apple watchアプリを作ってみた

Programming

Page 14: Apple watchアプリを作ってみた

アーキテクチャ

Page 15: Apple watchアプリを作ってみた

• WatchKit App • Apple Watch にインストールされ、Storyboardやイメージなどのリソースを保持

• WatchKit Extension • iPhone にインストールされ、アプリ利用時に実行されるコードを保持

Page 16: Apple watchアプリを作ってみた

• WatchKit Extension は iPhone 上で実行され、その状態に応じて Apple Watch は表示を更新

• アプリ起動やインタラクティブな操作のたびに、iPhone と Apple Watch の間で Bluetooth による通信が発生

Page 17: Apple watchアプリを作ってみた

WatchKit Extension• iOS 8 から利用可能になった App Extension と同じような仕組み

• iPhone アプリとは異なる Sandbox 上で動作するため、相互のデータアクセスは基本的に不可

• 利用できない API は App Extension と同様 • UIApplication を取得する sharedApplication • HealthKit と EventKit UI

Page 18: Apple watchアプリを作ってみた

Embedded Framework & Shared Container

Page 19: Apple watchアプリを作ってみた

• Embedded Framework • 複数のアプリや Extension で利用するコードをモジュール化することが可能

• Extension から利用する場合は、アクセスする API には注意が必要

• Shared Container • 同じ App Group に属する複数のアプリがアクセス可能な領域

• iPhone アプリと Watch アプリのデータを共有する際にも有効

Page 20: Apple watchアプリを作ってみた

Design

Page 21: Apple watchアプリを作ってみた

https://developer.apple.com/watch/human-interface-guidelines/

Page 22: Apple watchアプリを作ってみた

小さなディスプレイ

Page 23: Apple watchアプリを作ってみた
Page 24: Apple watchアプリを作ってみた

テキスト入力には大きな制約

• 選択肢からテキストを選択 • 絵文字 • 音声でテキスト入力

Page 25: Apple watchアプリを作ってみた

• 小さなディスプレイやデータ入力方法の制限、アーキテクチャに起因するBluetoothの待ち時間から、複雑な操作を要求するアプリは不向き • 多くのコンテンツを閲覧するアプリ • 編集がメインのアプリ • 選択がメインのアプリ

Page 26: Apple watchアプリを作ってみた

• ユーザの利用シーンを想定しアプリの機能を絞る • 表示するデータを厳選する • 通知を効果的に使う • Notification Action を活用する

Page 27: Apple watchアプリを作ってみた

Watch OS 2

Page 28: Apple watchアプリを作ってみた
Page 29: Apple watchアプリを作ってみた
Page 30: Apple watchアプリを作ってみた
Page 31: Apple watchアプリを作ってみた

• ネイティブアプリの開発が可能に • レスポンスの向上

• Complication • 時計のフェイスに情報を表示できるように • アプリへの導線の確保

• Apple Watch の機能やセンサへのアクセス • Digital Crown や Taptic Engine を用いたよりユーザビリティの高いアプリの開発が可能に

• 心拍数を計測したり、ジェスチャーで操作するようなアプリの開発が可能に