Apple Watch開發和數據傳輸(三)

關於Apple Watch與手機App之間的通信,代碼部分大致一致。

不同之處就在於手錶端可以喚醒在後臺運行的手機app,然後反過來卻不能。

下面對比一下兩端的代碼:




對比可以看出代碼內容差異不大,需要注意的點就是:

1.手機端代碼執行需要前置條件,比如是否支持session傳輸,App Watch是否安裝App,是否配對成功,是否處於 Reachable 狀態等。

2.雙端都基於#import<WatchConnectivity/WatchConnectivity.h>

3.雙端都需遵守協議WCSessionDelegate並且基於代理方法做相應處理

4.不推薦使用nil這種寫法傳輸數據,會導致數據傳輸失敗 [self.session sendMessage:msg replyHandler:nil errorHandler:nil];

5.通過代理方法接收傳輸的數據是在子線程中,如果有更新UI等操作需放在主線程執行,否則會有相當長時間的延遲


順帶說一下Apple Watch App的上架流程:

1.和正常手機端app一樣打包上傳,手機app包裏面包含有手錶端應用.

2.三個target的版本號和應用名稱需要保持一致

3.需要提供手錶端應用的AppIcon,Xcode 9 還需要一張1024x1024的Icon

4.構建版本上傳需要提供手錶端應用的屏幕快照以及Icon


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章