问题:
我尝试使用"transferUserInfo“将信息从我的手表应用程序发送到主要的iPhone应用程序。当iPhone可用时,这是可行的。
如果iPhone不可用,据我所知,当iPhone可用时,应该排队并传递消息。但是,当iPhone已经有一段时间没有可用时,它就不能工作了(然后"didReceiveUserInfo“没有被调用,消息也丢失了)。
如何确保在iPhone不可用时发送给它的所有消息最终都被传递,而不会丢失?
这是iOS/watchOS的错误吗?在我的实现中是一个可能的问题吗?还是这是一个有意的行为?其他人是否也经历过同样的问题?
器件与OS
发布于 2015-11-26 07:04:31
您的猜测行为是正确的,transferUserInfo:应该必须在没有连接时排队。
但是,在传输时也可能发生断开或错误。在这种情况下,观看操作系统似乎没有重新传输。
在WCSessionDelegate中,有一个回调-session:didFinishUserInfoTransfer:error:。无论是成功还是错误,都会调用此回调。
这样,您可以获得错误条件,可以使用transferUserInfo:重新发送。
https://stackoverflow.com/questions/33787761
复制相似问题