ios – WatchKit2错误代码7007“配对设备上的会话无法访问”的原因是什么

我正在为我的Apple 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.

我不得不承认,我没有在模拟器上启动我的应用程序.但是为什么并发控制器可以通信,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 Beta 5和iOS 9 Beta 5开发.我完全知道这是一个测试版,但这是发布前的最后一个测试版.

解决方法

确保调试器仅连接到Watch应用程序,iPhone应用程序直接从模拟器运行.

所以,运行iPhone应用程序以获得最新的代码,然后停止执行.接下来,运行Watch应用程序并打开iPhone模拟器并打开iPhone应用程序.在两个应用程序启动后(调试器只附加到Watch应用程序),sendMessage:replyHandler:errorHandler:的错误回调不应被调用,消息应该成功发送.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...