SlideShare a Scribd company logo
My#First#tvOS
2015/10/13
@TachibanaKaoru
自己紹介
渋谷のVOYAGE'GROUPでiOSエンジニア
をしています。
Twi$er/Vainglory/:/@TachibanaKaoru
Blog/:/h$p://www.toyship.org/
朝時間.jpというアプリをだしてます。
Apple%TVとは
• AppleがリリースしているTV接続用
セットトップボックス
• 2007年から販売しているが、2015年
10月下旬発売予定の第四世代-Apple-TV
で、はじめてサードパーティ製のアプ
リが搭載できるように
Apple%TVとは
64#bit'A8'processor
32GB'or'64GB'Storage
2GB'RAM
10/100Mbps'Ethernet
WiFi'802.11a/b/g/n/ac
New'Siri'Remote'/'Apple'TV'Remote
tvOSとは
• 第四世代"Apple"TVのOS
• iOS9.0をベースとした独自OS
• Xcode7.1から開発ターゲットとなる
tvOS%アプリ
• Apple&TV内のApp&Storeで配布される。
• watchOS&Appと違い、iOS&App部分を
必要とせず、tvOSアプリ単体でリリー
ス。
• 現時点ではApp&Storeは開始されていな
いが、審査は開始されている。
• シミュレーターでの安定した動作確認
がある程度までは可能。
tvOSアプリ開発の特徴
• 独自UX
• 実装方法の選択
• 厳しいリソース制限
tvOSアプリ開発の特徴%&%独自UX
• いわゆる10$feet$UI
• ユーザー入力として、タッチイベントが使えない。
• フォーカスを移動させ、pressイベントを取得。
• UIFocusEnvironmentプロトコルに対応した
UIControl(UIView、UIWindowなど)のフォーカスイベント
はシステムで管理されるが、独自UIControlを作った場合の
フォーカス管理を実装する必要がある。
tvOSアプリ開発の特徴%&%独自UX
• 文字入力が極端に難しい。
• 基本的に、画面上のソフトウェアキーボードで入力
• watch'OSと同様に、文字入力を用いないUXとする必要があ
る
tvOSアプリ開発の特徴%&%独自UX
• アプリの「ユーザー」がアプリを起動した人ではない可能性を
考える。
• 永続性データの保存方法
• ソーシャル機能で使うアカウント
tvOSアプリ開発の特徴%&%独自
UX
アプリアイコンやアプリ内画像でのパラ
ラックス効果
My first tvOS
tvOSアプリ開発の特徴%&%独自
UX
• パララックス効果は1画像表示エリア
につき、3つの画像レイヤーを設定す
ることで作成する。
• リモコン上部のタッチを使わないと確
認できないので、シミュレーター上で
再現することは不可。
• ただし、パララックス確認用Viewerア
プリがリリースされている。
tvOSアプリ開発の特徴%&%実装方法の選択
大きく分けて二つの実装方法がある。
• UIKitによる実装
• TVJS/TVMLによる実装
tvOSアプリ開発の特徴%&%実装方法の選択
• UIKitによる実装
• iOSアプリとほぼ同様の実装方法となる。
• UIAlertController、UICollec1onViewControllerなどもポー
ティングされている。
tvOSアプリ開発の特徴%&%実装
方法の選択
• TVJS/TVMLによる実装
• アプリの実行部分をTVJS(~Java-
Script)とTVML(Apple-TV-Markup-
Language)で記述し、アプリ内ではな
くサーバーに配置する。
AppDelegateではそれをよびだすだ
け。
• 後述するリソース制限を考慮する
と、Appleはこちらを推奨しているの
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>
tvOSアプリ開発の特徴%&%厳しいリソース制限
セットトップボックスであるというデバイスの性質上、iOSやMac
にくらべてアプリで使う子ことができるリソースの制限が厳し
い。
'(ローカル領域へのデータ保存は不可。(永続化にはiCloudを利
用)
'(アプリの配布サイズは200MBに制限。((On(demand(Resources(
を利用)
tvOSアプリ開発の特徴%&%その他
• tvOSとiOSとの差異があるため、iOS用の外部ライブラリがその
まま使えない可能性がある。'
• UIライブラリなどが難しそう
まとめ
• Apple&TV&での開発は、今までの&Mac,iOS,Apple&watchのどれと
も違ったUXを考慮する必要がある。
• UXについては、可能であれば、実機を使って検討するのがい
いでしょう。
• UIKitでの実装よりTVJS/TVMLによる実装の方が推奨されてい
る(かもしれない)

More Related Content

PDF
Type Safe Assets Handling in Swift
PDF
Objective-C Generics
PDF
個人で開発したアプリがベスト新着に選ばれた話
PDF
Caffeでお手軽本格ディープラーニングアプリ @potatotips
PDF
Introducing Cardio
PDF
Xcode7時代のアプリ配布
PDF
Swift Scriptingのすゝめ
PDF
View Monitoring Tips
Type Safe Assets Handling in Swift
Objective-C Generics
個人で開発したアプリがベスト新着に選ばれた話
Caffeでお手軽本格ディープラーニングアプリ @potatotips
Introducing Cardio
Xcode7時代のアプリ配布
Swift Scriptingのすゝめ
View Monitoring Tips

Viewers also liked (7)

PDF
HealthKitで日別のデータを一度に取得する
PDF
watchOS2 tips
PDF
GitHubで雑誌・書籍を作る
PDF
tvOSネイティブアプリを作る
PDF
マイクロにしすぎた結果がこれだよ!
PDF
ホットペッパービューティーアプリリプレイスとMVCP
PDF
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
HealthKitで日別のデータを一度に取得する
watchOS2 tips
GitHubで雑誌・書籍を作る
tvOSネイティブアプリを作る
マイクロにしすぎた結果がこれだよ!
ホットペッパービューティーアプリリプレイスとMVCP
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
Ad

More from toyship (14)

PDF
Time for Xcode Behavior
PDF
Notifications in iOS10
PDF
Universal Link
PDF
Can we live in a pure Swift world?
PDF
Swift Protocol and Selector
PDF
What's new Swift3
PDF
3D touch for iOS
PDF
Contents blocker on iOS9
PDF
Embedded framework and so on
PDF
はじめてのWKInterfaceController
PDF
App extension for iOS
PDF
サーバーからiOSアプリを変更する
PDF
Xcode bot
PDF
AVSpeechSynthesizerとロケール
Time for Xcode Behavior
Notifications in iOS10
Universal Link
Can we live in a pure Swift world?
Swift Protocol and Selector
What's new Swift3
3D touch for iOS
Contents blocker on iOS9
Embedded framework and so on
はじめてのWKInterfaceController
App extension for iOS
サーバーからiOSアプリを変更する
Xcode bot
AVSpeechSynthesizerとロケール
Ad

My first tvOS