Apple TV向けの最初のアプリケーションの開発は終わりに近づいており、このプラットフォームについて収集した情報を共有することにしました。
tvOSは、TVMLと従来の2種類のアプリケーションをサポートします。
従来のアプリケーションは、iOSアプリケーション(UIKit、Storyboard)とほぼ同じです。
TVMLは、クライアント/サーバーアプリケーションを作成するためのフレームワークです。 すべてのロジック、設計、およびデータはリモートサーバー上にあります。
入力ツール
1.標準コントローラーはApple TV Remote(Siri Remote)です。 アプリケーションのすべての機能はそこからアクセス可能でなければなりません。 アプリケーションでは、サードパーティ製のコントローラーを使用する必要はありません。
2. GameController-ゲームパッド。 2種類あります
2.1。 スタンドアロンコントローラー-通常のゲームパッド。
2.2。 iPhoneに接続し、ゲームパッドに変換するデバイス。
3.さらに、ゲームパッド(上記の両方のタイプ)は、ゲームパッドプロファイルと拡張ゲームパッドプロファイルの2つのタイプにさらに分かれています。 ボタンの数が異なります。
4.すべてのゲームコントローラーは、Wi-Fiとケーブルで接続できます。
5.ゲームコントローラを使用するアプリケーションは、上記のすべてをサポートする必要があります(つまり、接続された任意のゲームパッドで動作できる必要があります)。
6. TVシミュレーターの現在のバージョンは、ゲームコントローラーをサポートしていません。
7. Bluetooth LE-標準コントローラーが機能します。 また、接続できるデバイスは2つまでです。 シミュレーターでは機能しません。
8. Bonjour-WiFi接続。 最も魅力的に見えます。 接続されているデバイスの数に制限はありません。 ただし、 Appleの担当者はここで 、開発者がパフォーマンスに関して許容される接続デバイスの数を自分で決定する必要があると書いています。
9. CloudKit-iCloudを介したデータ交換。
テレビを備えたSiri Remoteは、タッチスクリーン、加速度計、ジャイロスコープ、マイクを備えたリモコンです。
1.タッチスクリーン-強制タッチ、ジェスチャーをサポートします。 生データ(つまり、タッチ座標)にアクセスできます
2.「メニュー」ボタン-Androidの「戻る」ボタンのように機能します。前のウィンドウに戻ります。 画面の読み込みなど、いくつかの問題が発生します(読み込み後、ユーザーは画面に戻ることができます)。 ただし、コードでオーバーライドできます。
3.「Siri」ボタン-名前が示すとおり、Siriが起動します。 残念ながら、アプリケーションでは使用できません。
4.「再生/一時停止」ボタン-コードで再定義できます
5.「TV」ボタン-アプリケーションを最小化します。
6.ボリュームコントロール。
「メニュー」ボタンの詳細。
メニューボタンをオーバーライドする最も簡単な方法は、ジェスチャレコグナイザーを作成することです。 ViewControllerのviewDidLoad()に次のコードを追加します。
let menuClickRecognizer = UITapGestureRecognizer(target: self, action:«menuButtonClicked») menuClickRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.rawValue)] self.view.addGestureRecognizer(menuClickRecognizer)
menuButtonClicked関数を作成します。
func menuButtonClicked(){ debugPrint(«Menu button clicked!») }
[メニュー]ボタンにカスタムジェスチャレコグナイザが定義されている場合、標準のジェスチャレコグナイザが機能しなくなることに注意してください。 これにより、アプリケーションの終了時に問題が発生する可能性があります。 このガイドラインに従って、「メニュー」ボタンはユーザーを前の画面に戻し、最初の画面からホーム画面に戻る必要があります。 この問題は、ViewController間の通常の移行ではなく、アンワインドセグエを使用して解決できます。
アイコン
新しいtvoのかなり興味深い機能は、Parallaxアイコンです。 アプリケーションアイコンは、フォーカスが移動すると次々に美しく移動する複数のレイヤーで構成できます。 アイコンには1つから5つのレイヤーを含めることができ、最初の(背景)レイヤーは不透明にする必要があります(アルファチャンネルを使用しないでください)。
さらに、アプリケーション内で視差を使用することもできます。 たとえば、カスタムボタンの場合。
たとえば、 ここですべての外観を確認できます 。
一番上の棚の画像
トップシェルフイメージ-ホーム画面上のアプリケーションの「ヘッダー」。 アイコンが一番上の行にあるアプリケーションに対してのみ表示されます。 可能性があります:
1.通常の画像
2.スライドショー
3. 動的コンテンツ -任意のアプリケーションウィンドウへのリンクにできるアイコンのセット。 Appleは、広告に使用することを禁止しています。
制限事項
アプリケーションのサイズは200 mbを超えることはできません。 この制限は、 オンデマンドリソース 、つまり動的にロードされるコンテンツを使用して回避できます。
しかし、最も悲しい制限は、アプリケーションが内部ストレージにアクセスできないことです。 アプリケーションは単に何かをデバイスに保存することはできません。 Appleは、少量の情報(最大1 mb)を保存するためにiCloudキーと値のストレージを使用することを推奨しています。
Appleの多くのガイドラインの 1つによると、他のApple製品(iPhone、iPad、Macなど)には1人のユーザーが必要です。 Apple TVは、セットトップボックスおよび相互に対話する複数のユーザーを対象としています。
友人や家族のグループ向けにアプリケーションを作成することは、AppleがtvOS開発者に期待することです。