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


猜你喜欢

转载自blog.csdn.net/NB_Token/article/details/78665449