WCSession sendMessage 失败处理

通过手表向手机端发送消息时出现Payload could not be delivered(中文环境下:未能传送负载)的错误提示,如果你保证你的设置都对的情况下,请记得检查手机端WCSession实现的代理方法全不全

如果你是这样发送消息

session.sendMessage(["request" : "list"], replyHandler: nil, errorHandler: { (error) in print(error)})

那么在手机端你要有这样的代理方法

public func session(_ session: WCSession, didReceiveMessage message: [String : Any])

如果你是这样发送消息

session.sendMessage(["request" : "list"], replyHandler: { (result) in
                    print(result)
                }, errorHandler: { (error) in print(error) })

那么在手机端你要有这样的代理方法

public func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Swift.Void)

根据发送时有没有replyHandler来决定调用哪个代理方法,如果不匹配就会发送失败

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 实时消息协议---流的分块 版权声明: 版权(c)2009 Adobe系统有限公司。全权所有。 摘要: 本备忘录描...
    一个人zy阅读 5,966评论 0 9
  • 个人翻译,转载请注明出处,谢谢! Adobe's Real Time Messaging Protocol 摘要 ...
    SniperPan阅读 7,744评论 1 17
  • 开放源代码已经成为一些大型网站的基本原则。而在这些网站成长的过程中,一些优秀的实践经验和规则也出现在他们的结构中。...
    零一间阅读 4,597评论 0 4
  • 这次整理了一下平时拍的照片,照片主要是用宾得kr相机拍的,也有富士HS22EXR、手机的作品,结合里面的意...
    清风陌然阅读 2,812评论 2 1