蘋果上週展示了除其他外的其他內容 新蘋果電視 與 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層(背景、中間物體和前景)組成。應用程式中的所有活動圖像都可以包含相同的效果。
每一層其實只是透明背景上的圖像。蘋果已經準備了自己的應用程式來編譯這些分層圖像,並承諾很快就會發布 Adobe Photoshop 的匯出插件。
另一個要求是“Top Shelf”圖像。如果使用者將應用程式放置在頂行的顯著位置(頂部架子上),則該應用程式還必須為應用程式清單上方的桌面提供內容。可以只是一張簡單的圖片,也可以是一個活動區域,例如包含最喜歡的電影列表,或者在我們的例子中是廣播電台。
許多開發人員剛開始探索新 tvOS 的可能性。好消息是,編寫內容應用程式非常容易,Apple 已經透過 TVML 為開發人員走了很長的路。建立應用程式(例如 PLAY.CZ 或 iVyszílő)應該既簡單又快速。很有可能在新款 Apple TV 上市的同時,大量應用程式也將準備就緒。
編寫原生應用程式或將遊戲從 iOS 移植到 tvOS 會更具挑戰性,但難度也不會太大。最大的障礙是不同的控制項和每個應用程式 200MB 的限制。本機應用程式只能從商店下載有限的部分數據,其他所有內容都必須額外下載,並且不能保證系統不會刪除這些數據。然而,開發者肯定會很快解決這個限制,這也要歸功於一組名為「App Thinning」的工具的可用性,這些工具也是 iOS 9 的一部分。
好文章。謝謝。也許我們最終會從 Apple 看到一個用於準備更簡單的應用程式(解決方案)的用戶解決方案,就像 FileMaker for iOS 一樣,而無需我成為開發人員。
理論上…Swift 載入器有幾行仍然相同,只是第一個 TVML 檔案的 URL 改變了。如果有人願意,他們可能可以編寫一個腳本,可以使用您的 URL 遠端執行建置並發回 IPA 檔案。或者,如果您有 Mac,發送專案也沒有問題,您只需在其中輸入 URL 並開始建置即可。優點是,如果 TVML 位於應用程式之外,您實際上只需要一個公共構建和可能的一個私有(開發)構建,並且您只能更改伺服器上的 TVML 以及應用程式的功能。
「該應用程式可以僅適用於 tvOS,也可以將程式碼添加到現有的 iOS 應用程式中以創建“一刀切”的應用程式 - 類似於當今 iPhone 和 iPad 應用程式的模型。”
我想知道你的意思是什麼?就我個人而言,我還沒有找到一種方法來製作包含通用iPhone、iPad 和Apple TV 的1 個版本。因為它們是單獨的SDK(類似於OSX),所以您需要tvOS 的額外目標,因此也需要一個單獨的版本。 .我錯過了什麼?
在 Xcode 7.1 中,tvOS 應用程式可以作為另一個目標添加到現有專案中 - 類似於 Apple Watch 的應用程式或通知中心的小工具。但是,我還不知道它將如何上傳到商店...我假設 Xcode 會發送一個包,然後 App Store 會分割它...可能類似於他們現在對 Watch 所做的事情
不..在我看來,這是兩個完全不同的東西..watch是一個擴展..或者至少直到watchOS 2..它是與iOS目標一起提供的,甚至沒有iPhone就無法工作.. ATV 是一個獨立的實體.. 這就是我所說的,ATV 的構建是否會是獨立的(您需要支付2.0 美元)並且另外iOS 支付2 美元,或者是否有可能授予通用iOS 和ATV 均需2 美元構建。 ATV 系列..
因此,真正的發布將會顯示出來,但它的行為實際上與 Apple Watch 代碼相同。否則,文件指出可以將 tvOS 的代碼添加到現有應用程式中,因此可以同時為 iOS 和 tvOS 銷售一款應用程式(App Store 中的一個實體)——一次購買客戶,或作為單獨的實體- 單獨購買iOS 和tvOS。
澄清一下,這不是每個應用程式 200MB,而是本地儲存的 200MB,其餘的在需要時從網路下載
謝謝,我也是這麼想的,不過可能是我表達錯了。超過 200MB 的所有內容(或額外下載的所有內容)都儲存為緩存,如果系統確定空間不足,它就會開始刪除它 - 這可能不會發生,直到有足夠的可用空間,然後是最少使用的內容會被刪除,所以在實踐中它可能不會有太大的問題。
我還需要了解什麼,據說這個限制不適用於遊戲,或者遊戲的大小可能超過 200MB。但我仍然不知道這到底是什麼意思。很有可能蘋果仍在根據開發者的回饋調整這項政策。
呵呵 Pokemon TCG – 4 GB,線上秩序混亂 – 1,6 GB 爐石戰記 1,3 GB 我對此非常好奇。
有消息指出遊戲有特殊模式。我現在正在整理詳細信息,我們將完成這篇文章。
我做不到,如果我冒犯了任何人,我提前道歉,但我只是想與你分享巨大的、真誠的、真正的快樂......
新款 Apple TV 發布的第二天,我也沒有偷懶,報名參加了 Apple 抽獎(我應該選擇嗎?),甚至在發售前就有可能獲得開發者套件。
昨天晚上,蘋果公司寫信給我說它選擇了我作為第一批:)
所以,我和本文的作者不一樣,老實說,我正在為 Apple TV 開發 Preschool Brasnicce - 十月期間可在您的 App Store 上架:)
所以我有一種感覺,每個註冊的人都可能收到了:)我昨天也訂購了,我真的非常期待它......而且我知道還有一個人也在等待他的送貨.. ....
不管怎樣,到目前為止看來,當銷售開始時,可能會有許多應用程式:)
每個人可能都沒有 - 他們沒有給我:(
:( 我為你感到難過。
如果有人願意,我有八張白色蘋果貼紙…我可以郵寄它們…