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.

tvOSとiOSがこんなに違うわけがない ~tvOSアプリ実装編~

1,240 views

Published on

社内勉強会での発表資料です。
実際にtvOSアプリを実装してみて感じたiOSアプリ開発との違いをまとめてみました。
スライド内で「続きはブログで!」と書きましたが、URLを載せていなかったので、以下に載せておきます。
http://engineer-blog.cyber-z.co.jp/

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

tvOSとiOSがこんなに違うわけがない ~tvOSアプリ実装編~

  1. 1. 〜 tvOSアプリ実装編 〜 株式会社CyberZ OPENREC事業部 エンジニア 辰己 佳祐
  2. 2. 自己紹介 • 辰己 佳祐 (23) • 所属 – 株式会社CyberZ OPENREC事業部 • 職種 – エンジニア (主にOPENREC.tvのiOS, tvOS担当) • 755 – たつみんのFRESH!トーク • 趣味 – お菓子作り, 沖縄三線 • アプリ – AppStoreで「Keisuke Tatsumi」で検索求ム
  3. 3. Agenda • はじめに • フォーカスの概念 • applicationFrameの話 • ボタンのクリック検知について • 最後に
  4. 4. Agenda • はじめに • フォーカスの概念 • applicationFrameの話 • ボタンのクリック検知について • 最後に
  5. 5. はじめに 2015年12月にOPENREC.tvはAppleTVに対応しました!
  6. 6. はじめに • 今回は実際に実装してみてわかったtvOSの アプリ開発はiOSと比べてここが違う!と感じ たことについて発表します
  7. 7. Agenda • はじめに • フォーカスの概念 • applicationFrameの話 • ボタンのクリック検知について • 最後に
  8. 8. フォーカスの概念 tvOSではフォーカスという概念がとても重要 な特徴の一つとなっています 画像参照元URL:http://www.fastcodesign.com/3050952/four-fun-design-flourishes-in-apple-tvs-new-tvos
  9. 9. Siri Remote Touchサーフェスによるトラックパッドのようなカーソル 移動がメインになっているため、いまどこにカーソルが いるのかを判断するためにフォーカスの概念が導入さ れています 画像参照元URL:http://simpleguide.blog.jp/archives/46949468.html
  10. 10. フォーカス検知 UIKit 内でフォーカス検知できるUIパーツ – UITabBar – UIButton – UITableViewCell – UICollectionViewCell – UISegmentedControl – UITextField – UISearchBar (2016/02/10 調べ)
  11. 11. フォーカス検知 フォーカスが当たっているビュー上に設置した UIImageView の場合 画像参照元URL:https://dribbble.com/shots/2239752--tvOS-Icon-Parallax-Effect
  12. 12. フォーカス移動の検知 context.nextFocusedView : 現在フォーカスが当たっているビュー context.previouslyFocusedView : 一つ前にフォーカスが当たっていたビュー フォーカスの移動を検知するためのメソッド
  13. 13. Agenda • はじめに • フォーカスの概念 • applicationFrameの話 • ボタンのクリック検知について • 最後に
  14. 14. applicationFrameの話 applicationFrameプロパティが使えない
  15. 15. applicationFrameの話 実際に書こうとすると、、、 applicationFrameプロパティが使えない 使っちゃダ〜メ♡
  16. 16. applicationFrameの話 UIKit.frameworkのUIScreenクラス内にあるプロパティ欄にも、、、 実際に書こうとすると、、、 applicationFrameプロパティが使えない 使っちゃダ〜メ♡ ダメよ〜ダメダメ♡
  17. 17. どうしてダメなのか > < 1. AppleTVにはステータスバーの概念が無い から
  18. 18. ステータスバーなんて無かった 見渡す限りのダメよ〜ダメダメ♡
  19. 19. どうしてダメなのか > < 1. AppleTVにはステータスバーの概念が無い から 2. AppleTVにはマルチタスキングのようなスプ リットビューの概念が無いから
  20. 20. マルチタスキング iPadでは、iOS 9の【Slide Over】と【Split View】という機能の追加で、 2つのアプリを同時に起動して操作できるようになった 画像参照元URL:http://www.appbank.net/2015/09/17/iphone-news/1096738.php
  21. 21. どうしてダメなのか > < 1. AppleTVにはステータスバーの概念が無い から 2. AppleTVにはマルチタスキングのようなスプ リットビューの概念が無いから 3. テレビは回転を検知できないから
  22. 22. どうしてダメなのか > < 1. AppleTVにはステータスバーの概念が無い から 2. AppleTVにはマルチタスキングのようなスプ リットビューの概念が無いから 3. テレビは回転を検知できないから つまり スクリーンのフレームサイズが1パターン(ランドスケープで全画面) しかないので、applicationFrameを使う必要がなくなる
  23. 23. Agenda • はじめに • フォーカスの概念 • applicationFrameの話 • ボタンのクリック検知について • 最後に
  24. 24. ボタンのクリック検知について iOSでよくあるボタンアクションの実装
  25. 25. ボタンのクリック検知について iOSでよくあるボタンアクションの実装 ボタンは同じは ず tvOSでも同じコードで実装でしょ?そうでしょ?
  26. 26. はんのうがない。 ただの しかばね のようだ。
  27. 27. あれ?故障かな?と思ったら 何かおかしいと思って、UIKitの中身を覗いて みると、forControlEventsのオプション指定に新 たな項目が増えていました。それが、、、
  28. 28. あれ?故障かな?と思ったら 何かおかしいと思って、UIKitの中身を覗いて みると、forControlEventsのオプション指定に新 たな項目が増えていました。それが、、、 UIControlEventPrimaryActionTriggered ー (そのUIパーツの)主なアクションを引き起こす
  29. 29. tvOSでのボタンのクリック検知 tvOSでのボタンアクションの実装 iOSでよくあるボタンアクションの実装
  30. 30. Agenda • はじめに • フォーカスの概念 • applicationFrameの話 • ボタンのクリック検知について • 最後に
  31. 31. 最後に 今回発表させていただいた内容はtvOSとiOSの 違いのほんの一部です! 続きはブログで!
  32. 32. ご清聴ありがとうございました

×