Ios Watch Connectivity sendMessage:replyHandler:don';链接器具有标志-ObjC时无法工作

Ios Watch Connectivity sendMessage:replyHandler:don';链接器具有标志-ObjC时无法工作,ios,objective-c,watchkit,apple-watch,watchos-2,Ios,Objective C,Watchkit,Apple Watch,Watchos 2,我有一个带有一些外部库的项目,这个项目为这些库使用-ObjC链接器标志。如果没有,ObjC项目将崩溃。现在我想添加对Watch OS 2的支持。但我有一个问题:直到链接器有flag-ObjC-method-sendMessage:replyHandler:return错误,比如 Error Domain=WCErrorDomain Code=7014 "Payload could not be delivered." UserInfo={NSLocalizedDescription=Payloa

我有一个带有一些外部库的项目,这个项目为这些库使用-ObjC链接器标志。如果没有,ObjC项目将崩溃。现在我想添加对Watch OS 2的支持。但我有一个问题:直到链接器有flag-ObjC-method-sendMessage:replyHandler:return错误,比如

Error Domain=WCErrorDomain Code=7014 "Payload could not be delivered." UserInfo={NSLocalizedDescription=Payload could not be delivered.}

我不能删除这个标志(-ObjC),但有了它我的手表就不工作了。如果用户点击按钮,我需要向我的iPhone发送一些信息。还有其他发送信息的方式,我也有问题。系统将消息添加到队列中并永久保留它们。有人有想法吗?

我找到了理由!它是Appodel框架v0.10.2,我附加了Applodeal v0.10.3,现在我的手表代码运行良好

链接器标志不应影响WatchKit连接。以下是几个故障排除步骤

  • 您必须确保在接收消息的设备上实现委托方法
    -(void)session:(WCSession*)session didReceiveMessage:(NSDictionary*)message

  • 在您的评论中,您说您发送的数据是一个简单的字典。WatchKit连接不允许发送自定义类对象

  • 同时尝试重新启动模拟器或设备。尤其是在模拟器中,Watchkit连接经常失败。重建和重新启动将有所帮助


  • 这些是人们(或我)在Wathkit连接方面经常犯的错误。任何代码都不应阻止Watchkit连接。请仔细阅读苹果公司关于代表和协议细节的文档。如果你有任何问题,请告诉我。祝你好运

    T它还没有解决


    从现在开始,只有在出现错误时打开ios应用程序,才能解决此问题。正如他们所说,它可能正在初始化进程。

    我相信watchKit连接错误与链接器标志无关。你想在手表和手机之间发送什么样的东西?似乎您正在发送不受支持的对象类型,或者您没有在接收器(接收消息的设备)中实现委托方法。此链接器标志可以加载某些第三方代码。或框架。它可以有阻止代码。我试着去理解巫婆的密码会阻止手表的连接。我发送@{@“数据”:@“for send”}。我已经找到了原因,请看下面我的答案。来自Appodel库的一些代码阻止了它。我不知道怎么做,但确实如此。链接器标志使阻止程序代码加载。