Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS蓝牙编程-在两台iPad';s_Iphone_Bluetooth_P2p - Fatal编程技术网

Iphone iOS蓝牙编程-在两台iPad';s

Iphone iOS蓝牙编程-在两台iPad';s,iphone,bluetooth,p2p,Iphone,Bluetooth,P2p,我对iPhone上的蓝牙编程有点陌生,我想在两台iOS设备之间建立一个对等蓝牙连接。我遵循了本教程中的步骤 所有事情都会按它应该发生的那样发生,直到我在检测到另一个设备时得到接受或拒绝选项 一旦我选择接受,应用程序就会在两台设备上崩溃。显示的错误消息如下:- wait_fences:未能接收回复:10004003 2012-03-05 15:40:25.809蓝牙[204:707]-[ViewController会话:didFailWithError:]:无法识别的选择器发送到实例0x367f

我对iPhone上的蓝牙编程有点陌生,我想在两台iOS设备之间建立一个对等蓝牙连接。我遵循了本教程中的步骤

所有事情都会按它应该发生的那样发生,直到我在检测到另一个设备时得到接受或拒绝选项

一旦我选择接受,应用程序就会在两台设备上崩溃。显示的错误消息如下:-

wait_fences:未能接收回复:10004003 2012-03-05 15:40:25.809蓝牙[204:707]-[ViewController会话:didFailWithError:]:无法识别的选择器发送到实例0x367fe0 2012-03-05 15:40:25.811 Bluetooth[204:707]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[ViewController会话:didFailWithError::]:未识别的选择器发送到实例0x367fe0'

有人知道发生了什么吗


提前谢谢

只需在您发布的链接中复制粘贴以下内容:

如果人们无法成功构建和运行,您需要导入
GameKit框架
(右键单击框架文件夹>现有框架>GameKit.framework)

BluetoothViewController.h文件中添加:

#import "GameKit/GKSession.h"
#import "GameKit/GKPeerPickerController.h"

发现了问题。犯了一个相当愚蠢的错误

我写了一个方法如下

- (void)peerPickerController:(GKPeerPickerController *)picker 
              didConnectPeer:(NSString *)peerID 
                   toSession:(GKSession *) session {
在其中,我设置了应用程序,使用蓝牙接收数据

[session setDataReceiveHandler:self withContext:nil];
我想我应该先检查连接是否建立,然后再考虑数据传输。但事实证明你不能这么做,因为数据处理程序已经设置好了,而我还没有在self中实现它。不过,当我写这篇文章时,效果很好


希望,这能阻止人们犯下如此明显的错误

发布一些代码。你在实施Didror吗?你为什么不阅读苹果公司提供的文档和示例而遵循该教程?你是否实现了GKsessionDelegate方法-(void)session:(GKSession*)session didFailWithError:(NSError*)error;在您的类中?来自注释:如果人们无法成功构建和运行,您需要导入GameKit框架(右键单击框架文件夹>现有框架>GameKit.framework),并将.h中的空#import语句替换为#import。删除.m中的空#import。另外,你们是对的,我没有实现didFailWithError,这意味着错误是由[session setDataReceiveHandler:self withContext:nil]引发的,我最初没有提供记录错误或通过编写didFailWithError来处理错误的规定。谢谢