告诉我,在Watch Connectivity框架中是否可以通过session.sendMessage
方法将以下类型的对象从iOS应用程序传输到WatchOS?如果可以,那怎么做?
要发送的对象类型:
感谢您的回答!
答案 0 :(得分:2)
documentation for WCSession.sendMessage(_:replyHandler:errorHandler:)
说:
<强>消息强>
要发送的属性列表值的字典。您可以定义对应方支持的字典的内容。此参数不得为零。
Property list types仅限于字典,数组,字符串,数字,日期,二进制数据和布尔值。您列出的类型不是属性列表类型,因此您需要先以某种方式对它们进行序列化,然后才能使用sendMessage(_:replyHandler:errorHandler:)
发送它们。有关如何序列化自己的数据类型的信息,请参阅Apple's documentation on Object archiving。
答案 1 :(得分:0)
您有两个选择:(1)使用PropertyList方法传递数据,如bdash所述,或者(2)通过在sendMessage(_:replyHandler:errorHandler:)
方法中传递数据,方法是将消息变量构建为类型的字典{ {1}}然后在Watch Extension的[String:Any]
方法中处理响应。
有关此方法的示例,请在此处查看:https://github.com/markfilter/iOS_WatchConnectivity_Tutorial