0

问题:

我尝试使用“transferUserInfo”将信息从我的 Watch 应用程序发送到 iPhone 主应用程序。这在 iPhone 可用时有效。

如果 iPhone 不可用,据我了解,消息应该在 iPhone 可用时排队并按顺序传递。但是当 iPhone 一段时间不可用时它不起作用(然后“didReceiveUserInfo”没有被调用并且消息丢失了)。

我可以做些什么来确保我在 iPhone 不可用时发送到 iPhone 的所有消息最终都被传递并且不会丢失?

这是一个 iOS/watchOS 错误,是我的实现中可能存在的问题,还是这是预期的行为?其他人是否遇到过同样的问题?

设备和操作系统

  • 装有 iOS 9.1 的 iPhone 6s
  • 带有 watchOS 2.0.1 的 Apple Watch
4

1 回答 1

1

您猜测的行为是正确的,transferUserInfo:应该在未连接时排队。

但是,传输时也可能发生断开或错误。在这种情况下,手表操作系统似乎没有重新传输。

WCSessionDelegate,有一个回调-session:didFinishUserInfoTransfer:error:。为案例成功或错误调用此回调。

有了这个,你可以得到错误情况,你可以使用重新发送transferUserInfo:

于 2015-11-26T07:04:31.780 回答