tvOS SDKの新機能

Apple TV用のApp構築に使うツールキットであるtvOS SDKで、利用できる主なテクノロジーや機能について学びましょう。リリースされている最新バージョン(各ベータ版リリースを含む)におけるAPIの変更点について詳しくは、「tvOSリリースノート(英語)」を参照してください。

tvOS 14

tvOS 14 SDKでは、ゲームをマルチユーザーに対応させることができるようになり、ゲーマーが利用できるコントローラや入力デバイスのオプションがこれまで以上に広がります。新しいSwiftUI APIにより、検索機能が強化され、HomeKit対応のカメラからの映像をApp内で表示することもできます。また、ピクチャ・イン・ピクチャとシステム組み込みのコントロールを用いて、独自のビデオプレーヤーを拡張させることもできます。

ゲームのマルチユーザーへの対応

ゲームでマルチユーザーへの対応が可能になったことにより、ゲーム内でユーザーを動的に切り替えることができるようになりました。また、Game CenterとiCloudを利用して、複数のプレーヤーの各ゲームレベル、Leaderboard、招待状を個別に管理することもできます。新しいGKAccessPoint(英語)クラスを使用すれば、ユーザーはGame Centerの情報をゲーム内で表示したり管理したりできるようになります。マルチユーザーへの対応について詳しくは、「Apple TVでユーザーごとにAppをパーソナライズする(英語)」を参照してください。Game Centerについて詳しくは、GameKit(英語)フレームワークに関するドキュメントを参照してください。デザインに関するガイダンスは、「Game Center Human Interface Guidelines(英語)」を参照してください。

新たなコントローラへの対応

ユーザーはお気に入りのPlayStationやXboxコントローラ(Xbox Elite Wireless Controller Series 2、Xbox Adaptive Controllerを含む)などを使ってゲームができるようになります。タッチパッド(英語)キーボード(英語)マウス(英語)といったタイプのデバイスからの入力にもアクセスできます。また、バッテリー残量(英語)触覚(英語)ライト(英語)といったデバイス属性にもアクセスできます。詳しくは、Game Controller(英語)フレームワークに関するドキュメントを参照してください。

ピクチャ・イン・ピクチャ

tvOSはAVPictureInPictureController(英語)に対応するようになったため、デベロッパはピクチャ・イン・ピクチャでの再生をサポートする独自のビデオプレーヤーを実装できるようになりました。詳しくは、AVKit(英語)フレームワークに関するドキュメントを参照してください。デザインに関するガイダンスは、「tvOS Human Interface Guidelines(英語)」を参照してください。

独自のプレーヤーコントロール

新しいSwiftUIのVideoPlayer(英語)構造を使用すれば、システムに組み込まれている再生コントロールを独自のプレーヤーに追加できます。

高度な検索機能

新しいUIKit APIでは、検索候補(英語)を提供したり、検索結果を更新(英語)したりすることが可能になります。

HomeKit対応のカメラ

新しいSwiftUIのCameraView(英語)構造をAppで使用することにより、App内でビデオをストリーミングしたり、画像のスナップショットを表示したりすることができます。詳しくは、HomeKit(英語)フレームワークに関するドキュメントを参照してください。

tvOS 13

tvOS 13 SDKでは、マルチユーザーへの対応や、Apple TVTop Shelfへのコンテンツ提供など、様々な機能をAppで活用することができます。また、SwiftUIを使ってより柔軟でダイナミックなユーザーインターフェイスを構築したり、Combineを使ってモダンなイベント処理コードを書いたりすることもできます。

マルチユーザー対応

tvOS 13では、Apple TVのユーザーアカウントをApp固有のユーザー環境設定にマッピングできるため、ユーザーごとの環境設定を独自に管理しているAppでのユーザー体験が向上します。たとえば、App固有のプロファイルを選択するようユーザーに促すのではなく、TVUserManager(英語)を使用して、適切なユーザープロファイルをAppに自動的に選択させることができます。詳しくは、TVServices(英語)フレームワークに関するドキュメントを参照してください。

Top Shelf App Extension

Top Shelf Extensionを作成すると、Apple TVTop Shelfに画像やビデオコンテンツを提供することができます。ユーザーが、臨場感あふれるTop Shelfの新しいカルーセルで、Appのおすすめコンテンツを閲覧できるようにしましょう。新しいExtensionやAPIについて詳しくは、TVServices(英語)フレームワークに関するドキュメントを参照してください。

SwiftUI

SwiftUIは、iOS、macOS、watchOS、tvOS向けのユーザーインターフェイスを構築するためのモダンなアプローチです。コンポジションベースの宣言型プログラミングにより、ダイナミックなインターフェイスをかつてない速さで構築することができます。SwiftUIのフレームワークには、Appのユーザーインターフェイスを宣言するためのビュー、コントロール、レイアウト構造が用意されています。また、タップ、ジェスチャ、その他のタイプのAppへの入力を処理するイベントハンドラや、Appのモデルからユーザーが見たり操作したりするビューやコントロールまでのデータフローを管理するツールも備わっています。

SwiftUIの始め方については、「SwiftUIを使用してAppを作成する(英語)」を参照してください。

Metal

Metalを使用すると、GPUはグラフィックスや演算パイプラインをより厳密にコントロールできるようになります。また、高度なGPU処理を容易に実行するための機能が加わり、各種GPUに対応するために必要な作業がシンプルになります。Metalに対応したSimulatorなどの新しいツールにより、Metalをすぐに使い始めることができます。また、iOS AppがMetalを正しく使用しているかどうかも容易に把握できます。詳しくは、「Metal」を参照してください。

Metal Performance Shadersでは、GPUでの生成やレイトレーシングの高速化構造のダイナミックアップデートなどを含む、画像処理、機械学習、レイトレーシングのための新しいオプションが用意されています。詳しくは、Metal Performance Shaders(英語)フレームワークに関するドキュメントを参照してください。

バックグラウンドタスク

新しいBackgroundTasksフレームワークを使用すると、Appがバックグラウンドで実行されている間もコンテンツを常に最新状態に保ち、長時間を要するタスク処理も続行することができます。詳しくは、BackgroundTasks(英語)フレームワークに関するドキュメントを参照してください。

Combine

Combineは、時間の経過に沿って値を処理するための宣言型Swift APIを提供する新しいフレームワークです。処理する値は、ユーザーインターフェイスのイベント、ネットワークの反応、スケジュール済みのイベントなど、様々な種類の非同期データを表現できます。Combineでは、変化する値を公開するパブリッシャーと、パブリッシャーから値を受け取るサブスクライバーを宣言します。Combineを使用すると、イベント処理コードを一元管理し、ネストしたクロージャや規則ベースのコールバックといった厄介なテクニックを排除できます。これにより、コードが読みやすく、メンテナンスしやすいものになります。

詳しくは、Combine(英語)フレームワークに関するドキュメントを参照してください。

Apple CryptoKit

新しいApple CryptoKitフレームワークを使用すると、以下のような一般的な暗号化操作を安全かつ効率的に実行できます。

  • 暗号化された安全なダイジェストの計算および比較。
  • 公開鍵暗号方式を利用したデジタル署名の作成および評価。
  • 対称鍵の生成、メッセージ認証や暗号化といったその他の操作への使用。

詳しくは、Apple CryptoKit(英語)フレームワークに関するドキュメントを参照してください。