WatchConnectivity sendMessage:replyHandler:当链接器具有标志-ObjC时不起作用

时间:2016-05-28 15:22:04

标签: ios objective-c watchkit apple-watch watch-os-2

我有一些外部库的项目,这个项目使用-ObjC链接器标志这些库。没有-ObjC项目就会崩溃。现在我想添加对Watch OS 2的支持。但我有问题:直到链接器有标志-ObjC方法-sendMessage:replyHandler:返回错误如

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

我无法删除此标记(-ObjC),但有了它,我的手表无法正常工作。如果用户点击按钮我将需要向我的iPhone发送一些信息。另外发送信息的方式我也有问题。系统将消息添加到队列中并永久保留它们。有人有想法吗?

3 个答案:

答案 0 :(得分:1)

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

  1. 您必须确保在接收邮件的设备上实施委托方法。
  2. -(void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message

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

    2. 还尝试重新启动模拟器或设备。特别是对于模拟器,Watchkit连接通常会失败。重建和重启将有所帮助。

    3. 这些是人们(或我制作)关于Wathkit连接的常见错误。没有代码可以阻止Watchkit连接。请仔细阅读Apple的文档,了解代表和协议的具体细节。如果您有任何疑问,请告诉我。祝你好运!

答案 1 :(得分:0)

我找到了理由!这是Appodeal框架v0.10.2,我附上了Applodeal v0.10.3,现在我的手表代码工作正常。

答案 2 :(得分:0)

T_T没有解决T_T

只有从现在开始修复它的方法,在发生错误时打开ios应用程序一次。它可能正如他们所说的那样初始化过程。