20
My First tvOS 2015/10/13 @TachibanaKaoru

My first tvOS

  • Upload
    toyship

  • View
    1.956

  • Download
    0

Embed Size (px)

Citation preview

Page 1: My first tvOS

My#First#tvOS2015/10/13

@TachibanaKaoru

Page 2: My first tvOS

自己紹介渋谷のVOYAGE'GROUPでiOSエンジニアをしています。Twi$er/Vainglory/:/@TachibanaKaoruBlog/:/h$p://www.toyship.org/

朝時間.jpというアプリをだしてます。

Page 3: My first tvOS

Apple%TVとは

• AppleがリリースしているTV接続用セットトップボックス

• 2007年から販売しているが、2015年10月下旬発売予定の第四世代-Apple-TVで、はじめてサードパーティ製のアプリが搭載できるように

Page 4: My first tvOS

Apple%TVとは

64#bit'A8'processor32GB'or'64GB'Storage2GB'RAM10/100Mbps'EthernetWiFi'802.11a/b/g/n/acNew'Siri'Remote'/'Apple'TV'Remote

Page 5: My first tvOS

tvOSとは• 第四世代"Apple"TVのOS

• iOS9.0をベースとした独自OS

• Xcode7.1から開発ターゲットとなる

Page 6: My first tvOS

tvOS%アプリ

• Apple&TV内のApp&Storeで配布される。

• watchOS&Appと違い、iOS&App部分を必要とせず、tvOSアプリ単体でリリース。

• 現時点ではApp&Storeは開始されていないが、審査は開始されている。

• シミュレーターでの安定した動作確認がある程度までは可能。

Page 7: My first tvOS

tvOSアプリ開発の特徴• 独自UX

• 実装方法の選択

• 厳しいリソース制限

Page 8: My first tvOS

tvOSアプリ開発の特徴%&%独自UX

• いわゆる10$feet$UI

• ユーザー入力として、タッチイベントが使えない。

• フォーカスを移動させ、pressイベントを取得。

• UIFocusEnvironmentプロトコルに対応したUIControl(UIView、UIWindowなど)のフォーカスイベントはシステムで管理されるが、独自UIControlを作った場合のフォーカス管理を実装する必要がある。

Page 9: My first tvOS

tvOSアプリ開発の特徴%&%独自UX

• 文字入力が極端に難しい。

• 基本的に、画面上のソフトウェアキーボードで入力

• watch'OSと同様に、文字入力を用いないUXとする必要がある

Page 10: My first tvOS

tvOSアプリ開発の特徴%&%独自UX

• アプリの「ユーザー」がアプリを起動した人ではない可能性を考える。

• 永続性データの保存方法

• ソーシャル機能で使うアカウント

Page 11: My first tvOS

tvOSアプリ開発の特徴%&%独自UX

アプリアイコンやアプリ内画像でのパララックス効果

Page 12: My first tvOS
Page 13: My first tvOS

tvOSアプリ開発の特徴%&%独自UX

• パララックス効果は1画像表示エリアにつき、3つの画像レイヤーを設定することで作成する。

• リモコン上部のタッチを使わないと確認できないので、シミュレーター上で再現することは不可。

• ただし、パララックス確認用Viewerアプリがリリースされている。

Page 14: My first tvOS

tvOSアプリ開発の特徴%&%実装方法の選択

大きく分けて二つの実装方法がある。• UIKitによる実装

• TVJS/TVMLによる実装

Page 15: My first tvOS

tvOSアプリ開発の特徴%&%実装方法の選択• UIKitによる実装

• iOSアプリとほぼ同様の実装方法となる。

• UIAlertController、UICollec1onViewControllerなどもポーティングされている。

Page 16: My first tvOS

tvOSアプリ開発の特徴%&%実装方法の選択

• TVJS/TVMLによる実装

• アプリの実行部分をTVJS(~Java-

Script)とTVML(Apple-TV-Markup-

Language)で記述し、アプリ内ではなくサーバーに配置する。AppDelegateではそれをよびだすだけ。

• 後述するリソース制限を考慮すると、Appleはこちらを推奨しているの

Page 17: My first tvOS

TVML%Example

<document> <alertTemplate> <title>Update to premium</title> <description>Go ad free by updating to the premium version</description> <button> <text>Update Now</text> </button> <button> <text>Cancel</text> </button> </alertTemplate></document>

Page 18: My first tvOS

tvOSアプリ開発の特徴%&%厳しいリソース制限

セットトップボックスであるというデバイスの性質上、iOSやMacにくらべてアプリで使う子ことができるリソースの制限が厳しい。'(ローカル領域へのデータ保存は不可。(永続化にはiCloudを利用)'(アプリの配布サイズは200MBに制限。((On(demand(Resources(を利用)

Page 19: My first tvOS

tvOSアプリ開発の特徴%&%その他• tvOSとiOSとの差異があるため、iOS用の外部ライブラリがそのまま使えない可能性がある。'

• UIライブラリなどが難しそう

Page 20: My first tvOS

まとめ• Apple&TV&での開発は、今までの&Mac,iOS,Apple&watchのどれとも違ったUXを考慮する必要がある。

• UXについては、可能であれば、実機を使って検討するのがいいでしょう。

• UIKitでの実装よりTVJS/TVMLによる実装の方が推奨されている(かもしれない)