關閉廣告

蘋果上週展示了除其他外的其他內容 新蘋果電視 與 tvOS 作業系統。來自App Store的應用程式可以安裝在新的黑盒子中這一事實無疑讓開發人員感到最高興。

開發人員有兩種選擇。他們可以編寫一個可以完全存取 Apple TV 硬體的本機應用程式。可用的 SDK(供開發人員使用的庫集)與開發人員已經從 iPhone、iPad 中了解到的非常相似,並且程式語言相同 - Objective-C 和較年輕的 Swift。

但對於更簡單的應用程序,Apple 為開發人員提供了 TVML(電視標記語言)形式的第二個選擇。如果您覺得 TVML 這個名稱看起來很像 HTML,那麼您是對的。它實際上是一種基於 XML 的標記語言,與 HTML 非常相似,只是它更簡單且具有更嚴格的語法。但對於像 Netflix 這樣的應用程式來說,它絕對是完美的。用戶也會受益,因為 TVML 的嚴格性將使多媒體應用程式的外觀和工作方式大致相同。

第一個應用程式的路徑

所以我要做的第一件事就是下載新的 beta 版本的 Xcode 開發環境(7.1 版本已經可用 這裡)。這使我能夠訪問 tvOS SDK,並能夠啟動一個專門針對第四代 Apple TV 的新專案。該應用程式可以僅限於 tvOS,也可以將程式碼添加到現有的 iOS 應用程式中以創建「通用」應用程式 - 類似於當今 iPhone 和 iPad 應用程式的模型。

問題一:Xcode 只提供建立本機應用程式的功能。但我很快就在文件中找到了一個部分,可以幫助開發人員更改此框架並為 TVML 做好準備。基本上,只需使用 Swift 中的幾行程式碼,就可以在 Apple TV 上建立全螢幕物件並載入應用程式的主要部分,該部分已經用 JavaScript 編寫。

問題二:TVML 應用程式實際上與網頁非常相似,因此所有程式碼也是從網路載入的。應用程式本身實際上只是一個“引導程式”,它只包含最少的程式碼和最基本的圖形元素(應用程式圖標等)。最終,我成功地將主要 JavaScript 程式碼直接放入應用程式中,並且至少能夠在 Apple TV 未連接到網路時顯示自訂錯誤訊息。

第三個小問題:iOS 9 及其 tvOS 嚴格要求所有與網際網路的通訊都透過 HTTPS 進行加密。這是iOS 9中為所有應用程式引入的功能,原因是對用戶隱私和資料安全的壓力。因此,有必要在 Web 伺服器上部署 SSL 憑證。它的購買價格低至每年 5 美元(120 克朗),或者您也可以使用 CloudFlare 等服務,該服務將自動處理 HTTPS,無需投資。第二個選項是關閉應用程式的此限制,目前這是可能的,但我絕對不會推薦它。

經過幾個小時的閱讀文件後,仍然偶爾出現一些小錯誤,我制定了一個非常基本但有效的應用程式。它顯示了流行的文字“Hello World”和兩個按鈕。我花了大約兩個小時試圖讓按鈕處於活動狀態並實際執行某些操作。但考慮到凌晨,我更願意去睡覺……這是一件好事。

有一天,我有了一個好主意,直​​接從 Apple 下載現成的範例 TVML 應用程式。我很快在程式碼中找到了我正在尋找的內容,並且該按鈕已啟用並且可以正常工作。除此之外,我還在網路上發現了 tvOS 教學的前兩部分。這兩種資源都幫了很大的忙,所以我開始了一個新專案並開始了我的第一個真正的應用程式。

第一次真正的應用

我完全從頭開始,第一個 TVML 頁面。好處是蘋果為開發者準備了18個現成的TVML模板,只需要從文件中複製即可。編輯一個範本大約需要一個小時,主要是因為我正在準備 API,將包含所有必要資料的完成的 TVML 發送到 Apple TV。

第二個模板只花了大約10分鐘。我添加了兩個 JavaScript - 其中大部分程式碼直接來自 Apple,所以為什麼要重新發明輪子呢。 Apple 已準備好腳本來負責載入和顯示 TVML 模板,包括建議的內容載入指示器和可能的錯誤顯示。

在不到兩個小時的時間裡,我就建立了一個非常簡單但功能齊全的 PLAY.CZ 應用程式。它可以顯示廣播電台列表,可以按流派過濾它,也可以啟動廣播。是的,很多東西都不在應用程式中,但基本功能是有效的。

[youtube id=”kLKvWC-rj7Q” 寬度=”620″ 高度=”360″]

優點是應用程式基本上無非是網站的特殊版本,由 JavaScript 提供支持,也可以使用 CSS 來修改外觀。

蘋果還需要一些準備工作。應用程式圖標不是一個,而是兩個 - 較小的和較大的。新穎之處在於該圖標不是簡單的圖像,而是包含視差效果,並且由2至5層(背景、中間物體和前景)組成。應用程式中的所有活動圖像都可以包含相同的效果。

每一層其實只是透明背景上的圖像。蘋果已經準備了自己的應用程式來編譯這些分層圖像,並承諾很快就會發布 Adob​​e Photoshop 的匯出插件。

另一個要求是“Top Shelf”圖像。如果使用者將應用程式放置在頂行的顯著位置(頂部架子上),則該應用程式還必須為應用程式清單上方的桌面提供內容。可以只是一張簡單的圖片,也可以是一個活動區域,例如包含最喜歡的電影列表,或者在我們的例子中是廣播電台。

許多開發人員剛開始探索新 tvOS 的可能性。好消息是,編寫內容應用程式非常容易,Apple 已經透過 TVML 為開發人員走了很長的路。建立應用程式(例如 PLAY.CZ 或 iVyszílő)應該既簡單又快速。很有可能在新款 Apple TV 上市的同時,大量應用程式也將準備就緒。

編寫原生應用程式或將遊戲從 iOS 移植到 tvOS 會更具挑戰性,但難度也不會太大。最大的障礙是不同的控制項和每個應用程式 200MB 的限制。本機應用程式只能從商店下載有限的部分數據,其他所有內容都必須額外下載,並且不能保證系統不會刪除這些數據。然而,開發者肯定會很快解決這個限制,這也要歸功於一組名為「App Thinning」的工具的可用性,這些工具也是 iOS 9 的一部分。

主題: , ,
.