鍍金池/ 教程/ iOS/ 使用 iOS 技術(shù)
上下文菜單
更新記錄
文本與標(biāo)簽
使用 iOS 技術(shù)
開發(fā)您的 Watch 應(yīng)用
Watch 應(yīng)用結(jié)構(gòu)
預(yù)覽概要
界面對象
UI 概要
Tables
配置 Xcode 項(xiàng)目
圖片
通知要點(diǎn)
設(shè)置
界面導(dǎo)航
管理你的預(yù)覽界面
管理自定義 Long Look 界面

使用 iOS 技術(shù)

WatchKit 應(yīng)用擴(kuò)展可以使用絕大多數(shù) iOS 技術(shù)。由于應(yīng)用擴(kuò)展和應(yīng)用還是有一些不同,因此某些技術(shù)的使用可能會受到限制,或者不受到推薦。下面是決定是否使用特定技術(shù)的準(zhǔn)則:

  • 避免使用需要用戶權(quán)限的技術(shù),比如 Core Location。在 WatchKit 應(yīng)用擴(kuò)展中使用該技術(shù)的話,可能會在您第一次請求使用時(shí)導(dǎo)致用戶的 iPhone 上顯示出一個(gè)意想不到的提示。更糟糕的是,這個(gè)狀況可能會在任何時(shí)間出現(xiàn),即使用戶的 iPhone 在他們的口袋里并且屏幕是鎖定的。

  • 不要使用后臺執(zhí)行模式的技術(shù)。 WatchKit 應(yīng)用擴(kuò)展只考慮在前臺運(yùn)行的情況,并且其只在用戶和對應(yīng)的 Watch 應(yīng)用交互時(shí)運(yùn)行。因此,支持后臺運(yùn)行的某些技術(shù)在 WatchKit 應(yīng)用擴(kuò)展中并不被支持。

  • 避免使用需要長時(shí)間運(yùn)行的技術(shù)。 WatchKit 應(yīng)用擴(kuò)展在用戶停止和對應(yīng)的 Watch 應(yīng)用交互后便迅速暫停。由于與 Watch 應(yīng)用的交互通常是短暫的,因此應(yīng)用擴(kuò)展可能會在請求的數(shù)據(jù)到達(dá)前暫停運(yùn)行。

要使用 iOS 技術(shù),其中一種解決方法是讓您的 iOS 應(yīng)用來使用這些技術(shù)。例如,在您的 iOS 應(yīng)用中使用位置服務(wù),而不是在 WatchKit 中使用這個(gè)技術(shù)。iOS 應(yīng)用可以收集所需的數(shù)據(jù)然后通過共享程序組來讓應(yīng)用擴(kuò)展稍后訪問。

支持 Handoff

Watch 支持創(chuàng)建的 Handoff 功能。你可以用控制器 WKInterfaceController 中的 updateUserActivity:userInfo:webpageURL: 方法來創(chuàng)建。 在 glance 的控制器中,你可以定制有用的信息,來與你的設(shè)備進(jìn)行交互。當(dāng)用戶點(diǎn)擊了 glance 上的應(yīng)用的時(shí)候,WatchKit 將會將數(shù)據(jù)傳輸?shù)侥愕脑O(shè)備上。之后,你可以用這個(gè)發(fā)送過來的數(shù)據(jù)更新您的設(shè)備上的相關(guān)內(nèi)容。

遠(yuǎn)程控制事件與 Now Playing 信息

Watch 可以用遠(yuǎn)程控制事件來管你與之配對的 iPhone,例如播放音樂、視頻。設(shè)備也會將當(dāng)前正在播放的音樂(或者視頻)信息傳輸?shù)?Watch 上顯示。一個(gè)注冊過 MPRemoteCommandCenter 的iOS應(yīng)用程序會自動(dòng)的接受數(shù)據(jù)處理信息。你不需要在你的WatchKit擴(kuò)展包中做些額外的操作來同步數(shù)據(jù)。

重要提示
為了反饋類似于喜歡、不喜歡或者標(biāo)記一個(gè)內(nèi)容的信息,Watch 是使用 localizedShortTitle,而不是 MPFeedbackCommand 中的 localizedTitle

Now Playing 的 glance 會自動(dòng)的顯示當(dāng)前 iOS 應(yīng)用的 Now Playing 信息。iOS 應(yīng)用程序通過 MPNowPlayingInfoCenter 來提供這些數(shù)據(jù)。當(dāng)您的app在更新數(shù)據(jù)時(shí),您應(yīng)當(dāng)去更新 nowPlayingInfo 字典的內(nèi)容。Watch 會自動(dòng)的更新數(shù)據(jù)并顯示出來。另外,如果此時(shí)用戶點(diǎn)擊了 Now Playing 上的標(biāo)題,Watch 會直接進(jìn)入 iOS 應(yīng)用對應(yīng)的 Watch 應(yīng)用中。

更多的關(guān)于如何實(shí)現(xiàn)遠(yuǎn)程控制以及Now Playing的內(nèi)容,請查閱 Remote Control Events