ios – 错误:“消息回复花了太长时间”向设备监视工具包OS 2发送消息

ios – 错误:“消息回复花了太长时间”向设备监视工具包OS 2发送消息,第1张

概述从Apple Watch向设备发送消息时出现以下错误 Error Domain=WCErrorDomain Code=7012 “Message reply took too long.” UserInfo={NSLocalizedDescription=Message reply took too long., NSLocalizedFailureReason=Reply timeout occ 从Apple Watch向设备发送消息时出现以下错误

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>同时适用于手表和主要应用目标,并且符合手表和设备上的委托方法

从手表发送消息给设备

>会话确认为可用
>会话确认为可访问

@H_403_26@NSDictionary *applicationDict = [[NSDictionary alloc] initWithObjects:@[@"SomethingHere"] forKeys:@[@"valueKey"]];if([[WCSession defaultSession] isReachable]) { NSLog(@"Reachable"); //<---- Console shows reachable [[WCSession defaultSession] sendMessage:applicationDict replyHandler:^(NSDictionary *reply) { NSLog(@"%@",reply); } errorHandler:^(NSError *error) { NSLog(@"%@",error); //<--- returns error }]; }

设备

在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发送消息所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存