Error Domain=WCErrorDomain Code=7012 “Message reply took too long.”
UserInfo={NSLocalizedDescription=Message reply took too long.,
NSLocalizedFailureReason=Reply timeout occured.}
#import< WatchConnectivity / WatchConnectivity.h>同时适用于手表和主要应用目标,并且符合手表和设备上的委托方法
从手表发送消息给设备
>会话确认为可用
>会话确认为可访问
设备
在appdelegate dIDFinishLaunching
@H_403_26@// Watch kit session if ([WCSession isSupported]) { WCSession *session = [WCSession defaultSession]; session.delegate = self; [session activateSession]; NSLog(@"\n\n - WatchKit Session Started - \n\n"); } else{ NSLog(@"WatchKit Session Error"); }会议确认按预期开始
在设备上接收消息
@H_403_26@- (voID)session:(nonnull WCSession *)session dIDReceiveMessage:(nonnull NSDictionary<Nsstring *,ID> *)message replyHandler:(nonnull voID (^)(NSDictionary<Nsstring *,ID> * __nonnull))replyHandler { NSLog(@"Data delagte"); dispatch_async(dispatch_get_main_queue(),^{ resultFromWatch = [message objectForKey:@"resultDataValue"]; }); }更新:
@H_403_26@- (voID) session:(nonnull WCSession *)session dIDReceiveApplicationContext:(nonnull NSDictionary<Nsstring *,ID> *)message {dispatch_async(dispatch_get_main_queue(),^{ });}停止根据ccjensen评论收到的错误消息
解决方法 检查以下事项:1 /确保在电话端正确实现WCSessionDelegate. (不知道你到目前为止是否和/或实施了多少)
特别是,请确保您实现了session(_:dIDReceiveMessage:replyHandler :).
2 /确保您实际调用WCSessionDelegate中的replyHandler,如文档中所示:“您必须执行回复块作为实现的一部分.” WCSessionDelegate Protocol Reference
3 /一旦你检查了这些,请在重新尝试使用手表之前运行最新版本的iPhone应用程序.
如果这些不起作用,那么这意味着你的WCSessionDelegate实现太慢,因此超时或你在手表和手机之间得到了一个很好的旧时尚网络问题(不太可能在sim中,但可能存在错误).
希望这可以帮助.
编辑:我错过了提及,计数器部分应用程序必须处于活动状态才能响应.这意味着,iPhone应用程序必须至少在后台(启动一次)才能响应.如果不是,过了一会儿就会超时.
总结以上是内存溢出为你收集整理的ios – 错误:“消息回复花了太长时间”向设备监视工具包OS 2发送消息全部内容,希望文章能够帮你解决ios – 错误:“消息回复花了太长时间”向设备监视工具包OS 2发送消息所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)