我正在为我的苹果WatchOS2应用程序开发一个扫视视图。我现在还不完全理解一个稳定的WatchConnectivity连接的前提条件。我遇到了一个奇怪的情况,在模拟器中,我的ComplicationController可以成功地发出sendMessage请求。当我试着看一眼时,sendMessage请求失败了,错误为:
Error Domain=WCErrorDomain Code=7007
"WatchConnectivity session on paired device is not reachable."
UserInfo={NSLocalizedDescription=WatchConnectivity session
on paired device is not reachable.
我必须承认,我没有在模拟器上启动我的应用程序。但是为什么ComplicationController可以通信,而WatchController不能,而且我在互联网上找不到关于7007错误的任何解释。
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
WCSession.defaultSession().sendMessage(["request": "getGlancesImages" ], replyHandler: {
(result) -> Void in
self.processGetGlancesImages(result)
}, errorHandler: { NSLog("WatchGlanceController2. \($0.description)") } )
}
我目前正在开发WatchOS2 Beta5和iOS 9Beta5。我完全知道,这是一个测试版,但这是发布前的最后一个测试版。
发布于 2015-09-23 16:50:23
确保调试器仅附加到Watch应用程序,并且iPhone应用程序直接从模拟器运行。
因此,运行iPhone应用程序以获得最新代码,然后停止执行。接下来,运行Watch应用程序并打开iPhone模拟器,然后打开iPhone应用程序。在两个应用程序启动之后(调试器只附加到Watch应用程序),sendMessage:replyHandler:errorHandler:
的错误回调不应该被调用,消息应该会成功发送。
发布于 2016-04-07 20:02:08
试着使用
WCSession.defaultSession().reachable
快速检查它是否可达。
Objective C [WCSession.defaultSession] isReachable]
。
如果是return false/NO
,选择Debug -> Attach to Process,然后找到要附加的应用程序,然后选择它,应该可以工作。
https://stackoverflow.com/questions/32409916
复制相似问题