Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

watchOS2 tips

3,520 views

Published on

http://connpass.com/event/21750/

Published in: Mobile
  • Dating for everyone is here: ❤❤❤ http://bit.ly/2F4cEJi ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating direct: ❶❶❶ http://bit.ly/2F4cEJi ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hey guys! Who wants to chat with me? More photos with me here 👉 http://www.bit.ly/katekoxx
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

watchOS2 tips

  1. 1. potatotips #23 watchOS2 tips ⌚ 成田元輝 @mo_to_44
  2. 2. 自己紹介 • @mo_to_44 • 株式会社ネクストで
   HOME S(不動産検索アプリ)のiOSエンジニア • 最近はアプリ向けのAPIをつくるためにRubyも書い たり
  3. 3. 自己紹介 • 個人でもカメラアプリと か作ってます •   リボカメ • Apple Watchにも対応 • potatotips #21で発表
  4. 4. watchOS2 tips 1. complicationはショートカットとして配置できる 2. WCSessionの機能は使い分ける 3. WCSessionを使用する場合はターゲットをまたが るクラスを用意する 4. デバッグ時はplayHapticを仕込んでおく
  5. 5. complicationは
 ショートカットとして配置できる
  6. 6. complicationって? • ⌚の文字盤に3rd Partyアプリ の情報を表示可能にする watchOS2の機能 • 自分のアプリのデータを文字 盤に表示できる
  7. 7. complicationは
 ショートカットとして配置できる • 表示するデータを用意しなけ ればいけないように感じるが、 実際にはアプリ起動のショー トカットとして置くことも問 題ない • (いまのところ)入れられる ところは全部入れちゃっても いいかも
  8. 8. WCSessionの機能は使い分ける
  9. 9. WatchConnectivity N WCSessionとは? • 📱⇆⌚のやり取りを可能にする WatchConnectivity Framework の主要なクラス • データ送信方法が用途に応じ て用意されている 1. Background Transfers 2. Interactive Messaging
  10. 10. WCSessionの機能は使い分ける • だいたいの場合はsendMessageでiPhone / Apple Watchからデータ を取ってくることが可能 • サイズの大きいデータ(特に画像)は転送できないのでtransferFileメ ソッドを使用する など
  11. 11. WCSessionで渡すデータは
 ターゲット間で共有する
  12. 12. WCSessionのsendMessageの
 データは[String:AnyObject]で
 送受信する
  13. 13. WCSessionのsendMessageの
 データは[String:AnyObject]で
 送受信する
  14. 14. 📱 ⌚[String:AnyObject]
  15. 15. • キー名の定義がiOS/watchOS両方に存在 • キー名を変えたかったら両方修正 • 該当する値の型を変える場合も両方修正 Dictionaryのデメリット
  16. 16. iOS/watchOSターゲット間で
 型を共通定義
  17. 17. [String:AnyObject]ターゲット間 共通データ型 ターゲット間 共通データ型 Dictionary に変換 共通データ型
 に変換 Dictionary ⇆ 共通のデータ型 に変換 📱 ⌚ Dictionary に変換 共通データ型
 に変換 • 送信時に共通データ型から[String:AnyObject]に変換 • [String:AnyObject]を受け取ったら共通データ型に変換
  18. 18. iOS/watchOSターゲット間で型を共有 iOSとwatchOS、両方のターゲットで定義を共通化さ せる iOS watchOS File inspectorから設定可能
  19. 19. • 定義が一つにまとまる • 変更が楽になる • [String:AnyObject] の変換処理が一つに まとまっているのでバグを見つけやすい
 (key名を間違えていた!とか起きにくい)
  20. 20. 長いビルド時間 ☕ の
 終わりにHaptic
  21. 21. ⌚ 実機でのデバッグ • めちゃくちゃ時間がかかります • 一番長かったときはビルドしてからアプリが起動す るまで10分待ちました
  22. 22. 起動した時に音を鳴らす • watchOS2から追加されたhapticを使用して、アプリ起 動時に音がなるように仕込む • あとはコーヒー ☕ 入れたり、シャワー浴びたり 🚿 、 本 📖 読んだり 間時間を有効活用
  23. 23. おわり

×