你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> Apple TV 編程指南

Apple TV 編程指南

編輯:IOS開發基礎

1442906881991924.png

本文由CocoaChina譯者呆萌院長(博客)翻譯自蘋果開發者中心

校對:hyhSuper(GitHub)

原文:App Programming Guide for tvOS--The New Apple TV

本文檔文章包括

  • Apple TV 編程指南:介紹

  • Apple TV 編程指南:創建Client-Server App

  • Apple TV 編程指南:使用Apple TV遙控器控制屏幕上的用戶界面

  • Apple TV 編程指南:檢測手勢和按鈕按壓

  • Apple TV 編程指南:設計鍵盤輸入體驗

  • Apple TV 編程指南:使用游戲控制器

  • Apple TV 編程指南:創造視差美術資源

  • Apple TV 編程指南:資源管理


重要:這是針對於正在開發中的API或技術的預備文檔(預發布版本)。蘋果提供這份文檔的目的是幫助你按照文中描述的方式對技術的選擇及界面的設計開發進行規劃。這些信息有可能發生變化,因此根據本文檔的軟件開發應當基於最終版本的操作系統和文檔進行測試。該文檔的新版本或許會隨著API或相關技術未來的發展而進行更新。

新的 Apple TV 不僅僅是一個被動的媒體播放器。Apple TV 的用戶還可以玩游戲,使用工具類應用程序,看電影,享受並分享經驗。這些功能的增加也給開發商提供了更多機會。

tv OS 開發由 iOS 開發衍生而來但又有所不同,包括 tv OS 特有的一些框架。你會發現 Apple TV 的開發跟 iOS 開發很相似,它結合了支持分享技術、多用戶體驗,並且開辟了你在 iOS 設備上沒有發現的app開發領域的空間。你可以創建新的APP也可以使用 iOS 代碼作為起點。無論是哪種開發,你使用的都是熟悉的工具(Xcode)、語言(Objective-C,Swift以及JavaScript)。本文檔介紹了 Apple TV 的獨特功能,並提供了幫你開始 tv OS app 開發之旅的深入指導信息。

當移植現有的項目時,你可以在 Xcode 工程中增加一個 target 以簡化資源共享,但是你需要為 tv OS 創建新的 storyboards。你可能會需要了解用戶如何浏覽你的APP,然後讓APP用戶界面適用於 Apple TV。想要了解更多信息,請查看Apple TV Human Interface Guidelines(中文版/英文版)

創建Apple TV的配置文件與iOS創建的配置文件方法是一樣的,即在Xcode中使用Fix Issue命令或者通過開發者中心網站來創建配置文件。更多關於 Apple TV 功能支持信息,請參看 Supported Capabilities.

雖然 iOS 和 tv OS APP 是不同的實體(也就是說沒有一個可以在兩個平台上運行的二進制文件),但你可以創建一個綁定這些應用程序的通用購買。用戶一次購買應用程序,但可以同時獲得應用的 iOS 和 tv OS 版本。更多信息,請查看App Distribution Guide。

AppleTV硬件

新的AppleTV有以下硬件規格:

  • 64-bit A8 處理器

  • 32 GB/64 GB 存儲空間

  • 2 GB RAM

  • 10/100 Mbps Ethernet

  • WiFi 802.11a/b/g/n/ac

  • 1080p 分辨率

  • HDMI

  • 全新Siri 遙控器/Apple TV 遙控器

新Apple TV遙控器有兩種控制方式:一種使用Siri,另一種是在屏幕上搜索。Siri搜索適用於以下國家:

  • 澳大利亞

  • 加拿大

  • 法國

  • 德國

  • 日本

  • 西班牙

  • 英國

  • 美國

圖1-1展示的是新遙控器,它有以下按鈕:

1.觸摸界面。滑動浏覽。按下選擇。長按展示詳情菜單。

2.菜單。按下返回上個菜單。

3.Siri/搜索。長按與之進行對話(編輯注:適用於上邊列出的國家)。在其他國家,按下該按鈕則打開屏幕搜索應用程序。

4.播放/暫停。播放和暫停媒體。

5.Home按鈕。按下返回主屏幕。按兩次查看打開應用程序。長按休眠。

6.音量。控制TV音量。

7.Lightning接口。插入充電。
下圖是Siri遙控器和Apple TV遙控器。

QQ截圖20151120145104.png

傳統的APP

為 Apple TV 開發應用程序類似於 iOS APP 開發。你可以用 iOS 開發中相同的技術和框架來開發游戲、實用應用程序、媒體應用程序以及其他類型的應用。全新的以及現有的APP可以同時部署到 iOS 和新 Apple TV 平台。

Client-Server Apps(簡寫為 C-S APP)

為Apple TV創建Client-Server APP(簡寫為 C-S APP)非常簡單,它的主要目的是使用HTTPS、XMLHTTPRequest、DOM 以及 JavaScript 技術傳輸流媒體。你可以使用蘋果的自定義標記語言--TVML 創建接口,並使用JavaScript指定 APP 的行為。TVMLKit框架在原生代碼和 JavaScript 代碼之間搭建了橋梁。

你可以在 JavaScript 文件中指定APP的初次啟動行為。向往常一樣創建你的二進制APP,再使用TVMLKit框架來加載 JavaScript 文件。JavaScript 文件加載 TVML頁面並在屏幕上展示。你可以使用蘋果提供的模板創建TVML頁面。每個模板都提供了獨一無二的全屏信息展示。你可以通過添加或者移除模板中的元素來調整頁面。關於蘋果提供的TVML模板和元素列表,請查看 Apple TV Markup Language Reference。

Apple TV上所有的視頻回放都基於 HTTP Live Streaming 和 FairPlay Streaming。請查看 HTTP Live Streaming 和 FairPlay Streaming Overview。關於HTTP Live Streaming 編寫規范,請查閱 HLS Authoring Specification for Apple TV。

Top Shelf

用戶可以將任何 Apple TV app放在 App菜單的頂行,最多能放5個 icon。用戶在頂行選中某個 icon 時,屏幕頂部會展示與該 APP 相關的內容,這個區域被稱為 Top Shelf。在這個區域展示 APP 的內容,可以讓用戶預覽他們關心的內容,或者讓他們直接跳轉至 APP 的特定部分。

焦點和視差圖片

當用戶停留在某個項目上但卻沒有選擇該項目時,某個UI元素就處於聚焦狀態。當用戶聚焦到一個分層圖片上時,圖片會響應用戶在遙控器玻璃材質觸控板上的觸摸。

每層圖片以稍有不同的速度旋轉以產生視察效果。這種精細的效果為用戶創造了視覺上的深度,更現實也更有活力,並強調被聚焦的圖片正是用戶想要的。

視差圖片由設計師完成。但是如何將其應用在你的APP中呢?改進後的 UIImageView 可以支持視差圖片,所以大多數情況下你只需做很小的編碼調整。根據是要將圖片直接添加到APP,還是在運行時從服務器加載,你的工作也會有所變化。

新的 tvOS 框架

Apple tvOS 引入了 tvOS 專有的新框架:

  • TVMLJS:描述了用於加載 TVML 頁面(在C-S APP中展示信息)的JavaScript API。詳見 TVJS Framework Reference.

  • TVMLKit:提供了將 JavaScript 和 TVML 元素包含進你的 APP 的方法。詳見 TVMLKit Framework Reference.

  • TVServices:描述如何為 APP 添加一個 top shelf 擴展。詳見 TVServices Framework Reference.

繼承 iOS 框架

Apple tvOS 繼承了 iOS 的一些框架。詳見 iOS 框架和 tvOS 框架之間一些小差異。

  • Accelerate

  • AudioToolbox

  • AudioUnit

  • AVFoundation

  • AVKit

  • CFNetwork

  • CloudKit

  • CoreBluetooth

  • CoreData

  • CoreFoundation

  • CoreGraphics

  • CoreImage

  • CoreLocation

  • CoreMedia

  • CoreSpotlight

  • CoreText

  • CoreVideo

  • Darwin

  • Foundation

  • GameController

  • GameKit

  • GameplayKit

  • GLKit

  • ImageIO

  • MachO

  • MediaAccessibility

  • MediaPlayer

  • MediaToolbox

  • Metal

  • MetalKit

  • MetalPerformanceShaders

  • MobileCoreServices

  • ModelIO

  • OpenGLES

  • SceneKit

  • Security

  • simd

  • SpriteKit

  • StoreKit

  • Swift Standard Library

  • SystemConfiguration

  • UIKit

新用戶界面挑戰

Apple TV 沒有鼠標來讓用戶直接選擇 APP 或者與之進行交互,也不能觸摸和使用手勢。相反,Apple TV 使用了 Siri Remote 或者游戲控制器在屏幕上進行移動。

除了新控制器,整個用戶體驗也是完全不同。Mac 和 iOS 設備通常是單人體驗。用戶可能在你的 APP 中進行其他交互操作,但用戶依然是一個人使用設備。對於新Apple TV,用戶體驗變得更加社交化。可能會有幾個人坐在沙發上與你的 APP 進行交互。對於一款優秀的 APP 來說,利用這些變化是至關重要的。

APP本地儲存有限

Apple TV app 最大容量為 200MB。此外,你的 APP 最多可使用該設備本地 500KB 的永久存儲(使用 NSUserDefaults 類)。

除了有限的本地存儲,在空間不夠的情況下,其他所有數據必須可由操作系統清除。對於這些資源的管理,你有以下幾個選擇:

  • 你的 APP 可以在iCloud服務中存儲和檢索用戶數據。

  • 你的 APP 將所需數據下載到它的緩存目錄中。當 APP 運行時下載的數據不會被刪除。不過,當空間不足並且你的 APP 沒有運行時,這些數據可能會被刪除。不要使用整個緩存空間,這樣會導致不可預知的後果。

  • 你的 APP 可以使用 on-demand resources 打包只讀資產。在運行時,APP 會根據需要請求資源,並且操作系統會自動下載和管理這些資源。知道如何以及何時加載新資產而又保持用戶的參與非常關鍵。關於 on-demand resources 的更多信息,請參看 On-Demand Resources Guide。

這意味著為新 Apple TV 開發的每款應用程序都必須能在 iCloud 儲存和檢索數據,以提供良好的用戶體驗。

以 Apple TV 作為目標平台

當你需要編寫僅適用於 tvOS 的代碼時,可使用 #define TARGET_OS_TV 1 宏。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved