如果用户同时打开Apple Watch应用程序并打开iPhone应用程序,我希望能够更新Apple Watch视图。我知道有一个WatchKit 1 question asked here,但我想知道我是否可以使用WatchConnectivity来做到这一点。
在我的iOS应用中,我发送了一条消息:
if WCSession.isSupported() {
// Set the session to default session singleton
let session = WCSession.defaultSession()
// Fire the message to watch
NSLog("send message")
session.sendMessage(["action": "messageAction"], replyHandler: nil, errorHandler: { (error) -> Void in
// Display alert
NSLog(error.description)
})
}
但我一直收到错误:
Error Domain=WCErrorDomain Code=7007 "WatchConnectivity session on paired device is not reachable." UserInfo={NSLocalizedDescription=WatchConnectivity session on paired device is not reachable.}
要将消息从iPhone发送到Apple Watch,WatchConnectivity
sendMessage
是否使用正确的方法?
答案 0 :(得分:2)
只有“正确”的方法如果,您希望与可访问的设备进行交互式通信。
但是您没有显示您设置会话代理的位置或激活会话:
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
您可能还需要添加一些检查以确保手表已配对(session.paired
),手表应用已安装(session.watchAppInstalled
),并且手表实际可以访问({{ 1}})在尝试与之交互式沟通之前,使您的应用程序更加健壮。
See this guide for more details.
您还可以选择使用非交互式(背景)方法为您的应用排队消息,直到它打开并可以接收它们。