关于Apple Watch与手机App之间的通信,代码部分大致一致。

不同之处就在于手表端可以唤醒在后台运行的手机app,然后反过来却不能。

下面对比一下两端的代码:

Apple Watch开发和数据传输(三)


Apple Watch开发和数据传输(三)


对比可以看出代码内容差异不大,需要注意的点就是:

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


相关文章:

  • 2021-05-26
  • 2023-03-06
  • 2021-11-13
  • 2022-12-23
  • 2021-09-28
  • 2021-05-01
  • 2021-09-18
  • 2021-12-22
猜你喜欢
  • 2021-12-30
  • 2021-04-21
  • 2022-12-23
  • 2022-01-11
  • 2021-10-17
  • 2021-11-15
相关资源
相似解决方案