Apple Watch 開發介紹(一)配置Xcode工程

來源:互聯網
上載者:User

標籤:

WatchKit app需要一個現有的iOS app。在iOS app工程中,添加一個新的WatchKit app target,它包含了WatchKit app和WatchKit extension中需要的資源。他們會和iOS app一起發布到appstore。

WatchKit app target提供了初始建立WatchKit app,glances,以及自訂通知介面的的所有資源。iOS模擬器可以用來測試所有的介面和行為。

注意:WatchKit開發需要iOS 8.2或更新的SDK。

 

添加WatchKit App到iOS工程

要建立WatchKit app必須要有一個iOS app。WatchKit app是在Xcode工程的不同的target中實現的,打包的時候和iOS app打在一起。

1.在Xcode中,開啟iOS app。

2. 選擇File->New->Target,卻換到Apple Watch那一頁。

3. 選擇WatchKit App,點 Next。

4. 如果計劃實現glance活著自訂通知介面,選擇合適的複選框。

對於通知介面,建議選擇Include Notification Scene複選框,就算目前沒有計劃實現它。選擇那個複選框會添加調試通知介面的檔案到工程。如果不選,以後需要手動建立那些檔案。

5. 點完成

Xcode會配置WatchKit app和WatchKit extension的target並且會添加所需的檔案到工程。Bundle ID會根據iOS app的bundle ID自動設定。三個包的基準ID(首碼)必須要匹配。如果改變了iOS app的bundle ID,必須要對應的修改其他的bundle ID。

 

App Target 結構

添加WatchKit App target到工程同時也添加了兩個新的可執行檔並且更新了工程的編譯依賴關係。編譯iOS app會編譯三個可執行檔(iOS app, WatchKit extension以及WatchKit app)然後把它們打包到一起。Xcode也添加了一個build scheme來只編譯調試WatchKit app。

展示了iOS app和WatchKit。WatchKit app是打包在WatchKit extension中的,WatchKit extension打包在iOSapp中。當使用者在iPhone上安裝iOS app時,如果有匹配的Apple Watch,系統會推薦使用者安裝Watch Kit app。iOS會自動處理安裝過程。

 

 

編譯,運行,調試

建立WatchKit app時,Xcode會自動建立一個build scheme來運行和調試WatchKit app。使用這個scheme來在iOS模擬器或者裝置上運行app。

對於包含glance或者自訂通知介面的app,需要配置其他對應的scheme來測試這些介面。

為glances和通知配置自訂的scheme

1.選擇現有的WatchKit app scheme。

2.在scheme菜單中, 選擇編輯scheme。

 

3.複製現有的WatchKit app scheme,取一個合適的名字。

比如,叫做“Glance - My WatchKit app”來表示運行和調試glance的scheme

4.編輯scheme時選在左側的Run

5.在info部分,為新的scheme選擇合適的執行目標。

6. 儲存關閉scheme編輯器。

建立通知介面的scheme時,在測試的時候指定一個JSON檔案。

 

指定測試通知數據

在模擬器中調試自訂通知介面時,可以在測試時指定一個JSON資料。使用scheme編輯器來指定使用哪個資料檔案。資料檔案是用.apns尾碼結尾的。

注意:如果在建立WatchKit app是選在的Include Notification Scene。Xcode預設提供了一個測試用的PushNotificaitonPayload.apns檔案。(檔案在WatchKit extension的support檔案夾裡)也可以後面手動建立。

PushNotificationPayload.apns檔案包含了類比遠程通知的大部分欄位,也可以自己添加欄位。展示了預設的JSON檔案

 

JSON資料是被打包成dictionary然後在運行時傳遞給代碼的。由於iOS模擬器不能為iOS app註冊操作事件,也可以使用JSON檔案來指定顯示在介面上的操作按鈕。WatchKit模擬器可以包含一組操作,每一個表示一個要添加到介面的操作按鈕。每一個資料包含下面的關鍵字:

  • title-操作按鈕的標題。這個關鍵字是必須的
  • identifier-這個字串是傳遞給介面控制器的application:handleActionWithIdentifier:forLocalNotification:completoionHandler:或application:handleActionWithIdentifier:forRemoteNotification:completionHandler:方法的。這個關鍵字是必須的。
  • destructive-它的值是1或0,1表示按鈕以執行銷毀操作的按鈕形式顯示。0表示按鈕以普通方式顯示。這個欄位是可選的。

用JSON資料測試通知介面,需要在scheme中選擇對應的資料檔案。選擇scheme的類型為通知時,Xcode會顯示選擇JSON資料的菜單。可以為不同的通知數據建立不同的scheme,也可以在測試之前編輯shcme。

 

Apple Watch 開發介紹(一)配置Xcode工程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.