iOS上的蓝牙连接 - 应用程序建立连接时崩溃

时间:2012-05-27 20:09:04

标签: iphone ios bluetooth gamekit

我正在编程一个节拍器应用程序,通过GameKit和PeerPickerController建立蓝牙连接,然后允许一个设备将控件发送到另一个设备,因此如果在一个设备上按下启动,节拍器将同时启动。

应用程序加载正常并搜索其他设备并说它在Xcode的调试器窗口中连接,但随后立即崩溃并出现此错误:

  

wait_fences:未收到回复:10004003

     

2012-05-27 20:51:50.820 MetroConnect [5689:707] - [MetroConnectViewController会话:didFailWithError:]:无法识别的选择器发送到实例0x1793f0   2012-05-27 20:51:50.824 MetroConnect [5689:707] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [MetroConnectViewController session:didFailWithError:]:无法识别的选择器发送到实例0x1793f0'   * 第一次抛出调用堆栈:   (0x3126388f 0x375a1259 0x31266a9b 0x31265a83 0x311c0650 0x34141b5f 0x311c21fb 0x31b7f747 0x31237ad3 0x3123729f 0x31236045 0x311b94a5 0x311b936d 0x33233439 0x3091ccd5 0x5023 0x4fc8)   终止调用抛出异常(lldb)

我想知道是否有人能告诉我哪里出错了?我以类似的方式创建了一个不同的应用程序,在两个设备之间发送聊天消息,并且工作正常,我看不出这个实现与Metronome实现之间的任何差异。

1 个答案:

答案 0 :(得分:0)

好像你是GKSession委托,但是没有实现所需的委托方法。毕竟,出于某种原因,它们是必需的。使用类似的东西实现session:didFailWithError:方法,并检查是否正确实现了其余部分:

- (void)session:(GKSession *)session didFailWithError:(NSError *)error {
    NSLog(@"Session connection failed with error %@",[error localizedDescription]);
}