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

配置 Xcode 項目

Xcode 會將 Watch 應用和 WatchKit 應用擴展一起打包,然后放進現(xiàn)有的 iOS 應用包中。Xcode 提供了一個搭建 Watch 應用的模板,其中包含了創(chuàng)建應用、glance,以及自定義通知界面所需的所有資源。你可以在項目中進行實時測試。

Xcode 中的 WatchKit 應用包已經(jīng)包含了所有你需要的資源來創(chuàng)建出 WatchKit 應用。包括 glances,自定義通知界面。并且 iOS 模擬器提供了一個實時環(huán)境來測試它的界面以及所有的接口。

重要提示
WatchKit 開發(fā)環(huán)境需要 iOS 8.2 以上的 SDK,請在 developer.apple.com 獲取最新 SDK。

向 iOS 應用中添加 Watch 應用

要向現(xiàn)有項目中添加 Watch 應用對象,請執(zhí)行以下操作:

  1. 打開現(xiàn)有的 iOS 應用項目

  2. 選擇 File > New > Target,然后選中 Apple Watch

  3. 選擇 Watch App,然后單擊 Next

  4. 如果您想要使用 glance 或者自定義通知界面,請選擇相應的選項我們建議您激活應用通知選項。選中之后就會創(chuàng)建一個新的文件來調(diào)試該通知界面。如果您沒有選擇這個選項,那么之后您只能手動創(chuàng)建這個文件了。

  5. 單擊 Finish

完成上述操作之后,Xcode 將 WatchKit 應用擴展所需的文件以及 Watch 應用添加到項目當中,并自動配置相應的設(shè)置。Xcode 將基于 iOS 應用的 bundle ID 來為兩個新對象設(shè)置它們的 bundle ID。比如說,iOS 應用的 bundle ID 為 com.example.MyApp,那么 Watch 應用的 bundle ID 將被設(shè)置為 com.example.MyApp.watchapp,WatchKit 應用擴展的bundle ID 被設(shè)置為 com.example.MyApp.watchkitextension。這三個可執(zhí)行對象的基本 ID(即 com.example.MyApp)必須相匹配,如果您更改了 iOS 應用的 bundle ID,那么您就必須相應的更改另外兩個對象的 bundle ID。

應用軟件結(jié)構(gòu)

Xcode 中的 WatchKit 應用擴展模板為 iOS 應用創(chuàng)建了兩個新的可執(zhí)行程序。Xcode 同時也配置了項目的編譯依賴,從而讓 Xcode 在編譯 iOS 應用的同時也編譯這兩個可執(zhí)行文件。

圖 2-1 說明了它們的依賴關(guān)系,并解釋了 Xcode 是如何將它們打包在一起的。WatchKit 依賴于 iOS 應用,而其同時又被 Watch 應用依賴。編譯 iOS 應用將會將這三個對象同時編譯并打包。

圖 2-1 Watch 應用對象的結(jié)構(gòu)

http://wiki.jikexueyuan.com/project/apple-watch-programming-guide/images/target_structure_2x.png" alt="Watch 應用對象的結(jié)構(gòu)" />

編譯、運行以及調(diào)試程序

當您創(chuàng)建完 Watch 應用對象后,Xcode 將自行配置用于運行和調(diào)試應用的編譯方案。使用該配置在 iOS 模擬器或真機上啟動并運行您的應用。

對于包含 glance 或者自定義通知的應用來說,Xcode 會分別為其配置不同的編譯方案。使用 glance 配置以在模擬器中調(diào)試 glance 界面,使用通知配置以測試靜態(tài)和動態(tài)界面。

為 glance 和通知配置自定義編譯方案

1、選擇現(xiàn)有的 Watch 應用方案

2、從方案菜單中選擇 Edit Scheme

http://wiki.jikexueyuan.com/project/apple-watch-programming-guide/images/edit_scheme_menu_2x.png" alt="image" />

3、復制現(xiàn)有的 Watch 應用方案,然后給新方案取一個合適的名字。

比如說,命名為 “Glance - My Watch app”,表示該方案是專門用來運行和調(diào)試 glance。

4、選擇方案編輯器左側(cè)欄的Run選項

5、在信息選項卡中,選擇合適的可執(zhí)行對象

http://wiki.jikexueyuan.com/project/apple-watch-programming-guide/images/duplicate_scheme_2x.png" alt="image" />

6、關(guān)閉方案編輯器以保存更改

指定一個通知進行測試

當您在 iOS 模擬器調(diào)試自定義通知界面的時候,您可以指定一個 JSON 負載來模擬推送的通知。通知界面的 Xcode 模板包含一個 RemoteNotificationPayload.json 文件,您可以用它來指定負載中的數(shù)據(jù)。這個文件位于 WatchKit 應用擴展的 Supporting Files 文件夾。只有當您在創(chuàng)建 Watch 應用時勾選了通知場景選項,這個文件才會被創(chuàng)建。如果這個文件不存在,您可以用一個新的空文件手動創(chuàng)建它。

RemoteNotificationPayload.json 文件包含了絕大多數(shù)您需要的鍵值,但是您可以根據(jù)應用程序的實際情況添加更多的鍵值。圖 2-2 展示了項目中的默認 JSON 文件。由于 iOS 模擬器無法訪問 iOS 應用的注冊動作,這個負載便包含了一個名為 “WatchKit Simulator Actions” 的鍵值,其值為一個包含了一系列動作的數(shù)組。每個動作按鈕含有 titleidentifier 鍵,它們的值和 iOS 應用中注冊的相應鍵值相同。

圖 2-2 一個模擬的遠程通知負載

http://wiki.jikexueyuan.com/project/apple-watch-programming-guide/images/PushNotificationPayload.apns_2x.png" alt="一個模擬的遠程通知負載" />

絕大部分的 JSON 數(shù)據(jù)會在運行時打包進字典中進行傳輸。因為 iOS 模擬器沒辦法處理 iOS 應用的預置動作。您也許需要負載文件來指定您的動作。WatchKit 模擬器包含了一個行為的數(shù)組。數(shù)組中的每一個元素包含了以下內(nèi)容:

為了用 JSON 負載測試您的通知接口,您需要用 appropriate 負載文件來配置 build scheme。當您選擇了一個通知接口的可執(zhí)行文件,Xcode 會添加一個菜單來選擇您的負載文件。您可以用不同的 build schemes 來加載不同的配置文件,或者您也可以修改以前的負載文件來達到更新的目的。

上一篇:UI 概要下一篇:通知要點