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

設(shè)置

參數(shù)和設(shè)置是變動(dòng)較少的數(shù)值,可以用于配置應(yīng)用程序的行為或外觀(guān)。如果 WatchKit 應(yīng)用程序使用參數(shù)進(jìn)行配置,就可以在工程中添加一個(gè) WatchKit 專(zhuān)用設(shè)置包來(lái)顯示這些設(shè)置。此設(shè)置包置于 iOS 應(yīng)用程序中,而設(shè)置本身會(huì)在用戶(hù)手機(jī)上顯示。

WatchKit 設(shè)置包與 iOS 設(shè)置工作包的工作流程相同。此設(shè)置包定義了系統(tǒng)控件和各控件修改的參數(shù)名稱(chēng)。用戶(hù)手機(jī)的 Apple Watch 應(yīng)用程序會(huì)獲取設(shè)置包信息以便顯示實(shí)際控件。當(dāng)用戶(hù)更改控件數(shù)值時(shí),系統(tǒng)會(huì)更新底層參數(shù)值。

如需獲取設(shè)置包工作的詳細(xì)信息,請(qǐng)參考 Preferences and Settings Programming Guide

創(chuàng)建 WatchKit 設(shè)置包 

請(qǐng)按照以下操作向 Xcode 項(xiàng)目添加 WatchKit 設(shè)置包:

  1. 選擇 File > New > File。
  2. 在 Apple Watch 選項(xiàng)中選擇 WatchKit 設(shè)置包并單擊 Next。
  3. 使用 Settings-Watch.bundle 名稱(chēng)來(lái)創(chuàng)建設(shè)置包,并添加到 iOS 應(yīng)用程序中。命名 Settings-Watch.bundle 包是為了與 iOS 應(yīng)用程序包進(jìn)行區(qū)分。    WatchKit 設(shè)置包的初始內(nèi)容與 iOS 應(yīng)用程序設(shè)置包相同,詳見(jiàn)清單 12-1。

清單 12-1 WatchKit 設(shè)置包的內(nèi)容

Settings-Watch.bundle/ 
    Root.plist 
    en.lproj/ 
        Root.strings

關(guān)于如何配置設(shè)置包內(nèi)容,請(qǐng)查看 Implementing an iOS Settings Bundle。有關(guān)設(shè)置包的詳細(xì)信息,請(qǐng)查看?Settings Application Schema Reference。

允許訪(fǎng)問(wèn) WatchKit 擴(kuò)展的參數(shù)值

WatchKit 設(shè)置必須存儲(chǔ)在共享組容器中,iOS 應(yīng)用程序和 WatchKit 擴(kuò)展均可對(duì)其進(jìn)行訪(fǎng)問(wèn)。因?yàn)?WatchKit 設(shè)置包位于 iOS 應(yīng)用程序,系統(tǒng)會(huì)默認(rèn)把參數(shù)值寫(xiě)入iOS應(yīng)用程序容器。如果想訪(fǎng)問(wèn) WatchKit 擴(kuò)展,您必須對(duì)項(xiàng)目執(zhí)行以下配置:

  • App Group 同時(shí)支持 iOS 應(yīng)用程序和 WatchKit 擴(kuò)展。
    選擇相同的組標(biāo)識(shí)符。
  • Root.plist 文件添加 ApplicationGroupContainerIdentifier 鍵。  當(dāng)配置 App Group 功能時(shí),把此鍵所對(duì)應(yīng)索引設(shè)置為相同的標(biāo)示符。
    不需要把此鍵放入屬性列表。

運(yùn)行狀態(tài)訪(fǎng)問(wèn)設(shè)置    

要想訪(fǎng)問(wèn)存儲(chǔ)于一組容器中的參數(shù),請(qǐng)使用 initWithSuiteName: 方法來(lái)創(chuàng)建 NSUserDefaults 對(duì)象。調(diào)用此方法時(shí),請(qǐng)指定組容器標(biāo)示符所用的字符串。然后使用用戶(hù)默認(rèn)對(duì)象來(lái)訪(fǎng)問(wèn)參數(shù)值。下面提供了訪(fǎng)問(wèn)自定義組的示例:

清單 12-2 訪(fǎng)問(wèn)一個(gè)共享組容器的參數(shù)

NSUserDefaults *defaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.example.MyWatchKitApp"]; 
BOOL enabled = [defaults boolForKey:@"enabled_preference"];

如何訪(fǎng)問(wèn)參數(shù)的值,更多信息請(qǐng)參考 NSUserDefaults Class Reference。