首頁 收藏 QQ群
 網(wǎng)站導航

ZNDS智能電視網(wǎng) 推薦當貝市場

TV應用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 20023|回復: 1
上一主題 下一主題
[分享]

Apple TV編程指南——創(chuàng)建Client-Ser

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2015-12-2 10:13 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自浙江
Apple TV編程指南——創(chuàng)建Client-Ser

創(chuàng)建C-S應用程序(Creating a Client-Server App )
C-S應用跟其他應用在使用JavaScript和TVML上略有不同。Xcode應用的主要功能是訪問一個主JavaScript文件,然后展示由TVML文件創(chuàng)建的頁面到屏幕上。
圖2-1表示出C-S模型

Apple TV編程指南——創(chuàng)建Client-Ser

JavaScript文件加載TVML頁,并將每一頁推到導航堆棧上。當用戶瀏覽你的應用程序,TVML頁在導航堆棧上入棧和出棧。用戶關閉你的應用程序后,Apple TV首屏幕將出現(xiàn)。圖2-2顯示了一個基本的應用程序流程。
圖 2-2C/S 應用程序流

Apple TV編程指南——創(chuàng)建Client-Ser

構建C/S應用程序:
  • 打開Xcode,創(chuàng)建一個新項目。
  • 從tvOS中選擇單視圖應用程序模板。
  • 刪除view controller文件和應用程序的main storyboard。
  • 打開info.plist文件并刪除main storyboard文件的輸入名稱。

注:更多關于設置網(wǎng)絡安全的信息,查看App Transport Security Technote.
5. 對AppDelegate.swift 進行如下修改:
  • 加入引用TVMLKit
  • 修改類描述為class AppDelegate: UIResponder, UIApplicationDelegate, TVApplicationControllerDelegate {.
  • 加入在你的class中加入如下全局變量:var appController: TVApplicationController?
  • 根據(jù)如下修改application:dIDFinishLaunchingWithOptions:

func?application(application:?UIApplication,?dIDFinishLaunchingWithOptions?launchOptions:?[NSObject:?AnyObject]?)?->?Bool?{????self.window?=?UIWindow(frame:?UIScreen.mainScreen.bounds)????????let?appControllerContext?=?TVApplicationControllerContext????????let?javascriptURL?=?NSURL(string:?"Enter?path?to?your?JavaScript?file?here")????????appControllerContext.javaScriptApplicationURL?=?javascriptURL!????if?let?options?=?launchOptions?{????????for?(kind,?value)?in?options?{????????????if?let?kindStr?=?kind?as??String?{????????????????appControllerContext.launchOptions[kindStr]?=?value????????????}????????}????}????????self.appController?=?TVApplicationController(context:?appControllerContext,?window:?self.window,?delegate:?self)????????return?true}當一臺蘋果電視連接到你的計算機時,你可以通過上面例子加載一個TVML頁面并顯示在模擬器或在電視屏幕上。關于JavaScript類的更多信息,參見 TVJS Framework Reference.

Listing 2-1中 JavaScript 加載了一個詢問用戶是否想要更新APP高級版本的提示框的 TVML 頁面,(Listing 2-2) 。頁面加載完成后被推到導航棧上,然后操作系統(tǒng)展示給用戶。關于 TVML 模板和元素的更多信息,請查看Apple TV Markup Language Reference.
Listing 2-1 將 TVML 頁面推到導航棧上
function?getDocument(url)?{????var?templateXHR?=?new?XMLHttpRequest;????templateXHR.responseType?=?"document";????templateXHR.addEventListener("load",?function?{pushDoc(templateXHR.responseXML);},?false);????templateXHR.open("GET",?url,?true);????templateXHR.send;????return?templateXHR;}?function?pushDoc(document)?{????navigationDocument.pushDocument(document);}?App.onLaunch?=?function(options)?{????var?templateURL?=?'Enter?path?to?your?server?here/alertTemplate.tvml';????getDocument(templateURL);}?App.onExit?=?function?{????console.log('App?finished');}Listing 2-2 展示提示框的 TVML頁面

Apple TV編程指南——創(chuàng)建Client-Ser

重要
當從web服務器上訪問JavaScript和XML文件時,你通常需要確保頁面上的任何更改對于client app來說都是可見的。這樣你的服務器就必須確保client不會緩存任何頁面。當服務器響應不應緩存的頁面的HTTP請求時,服務器應當在HTTP響應頭文件中包含Cache-Control:no-cache.



上一篇:Apple TV3連接電視無信號
下一篇:Apple TV編程指南——資源管理
沙發(fā)
發(fā)表于 2015-12-2 10:20 | 只看該作者 | 來自浙江
看起來好高級的樣子啊
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡信息服務信用承諾書 | 增值電信業(yè)務經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2025-3-4 21:57 , Processed in 0.065315 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2025 ZNDS.Com

快速回復 返回頂部 返回列表