iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 错误:“消息回复花了太长时间”向设备监视工具包OS 2发送消息大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从Apple Watch向设备发送消息时出现以下错误

#import< WatchConnectivity / WatchConnectivity.h>同时适用于手表和主要应用目标,并且符合手表和设备上的委托方法

从手表发送消息给设备

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

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

// 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");
    }

会议确认按预期开始

在设备上接收消息

- (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"];
        });

      }

更新:

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。