Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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 sdk上附近的蓝牙设备列表_Iphone_Iphone Sdk 3.0_Bluetooth - Fatal编程技术网

正在获取iphone sdk上附近的蓝牙设备列表

正在获取iphone sdk上附近的蓝牙设备列表,iphone,iphone-sdk-3.0,bluetooth,Iphone,Iphone Sdk 3.0,Bluetooth,我需要能够搜索附近的所有蓝牙设备,只需找到它们。我根本不需要配对。我正在使用iPhone2.3测试版 这有可能吗?我试过使用GameKit,但没人知道怎么做 BOOL result = NO; if (!session) { session = [[GKSession alloc] initWithSessionID:@"SCANNER" displayName:nil

我需要能够搜索附近的所有蓝牙设备,只需找到它们。我根本不需要配对。我正在使用iPhone2.3测试版

这有可能吗?我试过使用GameKit,但没人知道怎么做

 BOOL result = NO;
if (!session) {
    session = [[GKSession alloc] initWithSessionID:@"SCANNER" 
                                        displayName:nil 
                                        sessionMode:GKSessionModePeer];
    self.session.delegate = self;
    [self.session setDataReceiveHandler:self withContext:nil];
    self.session.available = YES;
    result = YES;
}
它在[self.session setDataReceiveHandler:self with context:nil]上死亡

有以下错误

Scanner[42754:207] Error: 30500 -- Invalid parameter for -setDataReceiveHandler:withContext:.
然后
~DNSServiceRegister回调:Ref=471fa40,Flags=2,ErrorType=0 name=00rusor1A..iPhone模拟器regtype=\u q1eu29voete9jf.\u udp。域=本地。

是否执行所需的方法

- (void) receiveData:(NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context;
在什么地方?否则,它无法满足
-setDataReceiveHandler:withContext:
方法的需要。另外,我不相信你可以从iPhone模拟器中访问蓝牙功能


总的来说,我认为这不会满足你的要求。GameKit使用Bonjour discovery检测在本地蓝牙网络中运行类似游戏会话的其他iPhone/iPod Touch。它不会检测到附近的所有蓝牙设备。您可以自己使用较低级别的Bonjour discovery来查找通过WiFi或蓝牙可通过网络访问的所有Bonjour设备,但蓝牙访问本身是从您身边抽象出来的。

self是否实现了所需的方法

- (void) receiveData:(NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context;
在什么地方?否则,它无法满足
-setDataReceiveHandler:withContext:
方法的需要。另外,我不相信你可以从iPhone模拟器中访问蓝牙功能


总的来说,我认为这不会满足你的要求。GameKit使用Bonjour discovery检测在本地蓝牙网络中运行类似游戏会话的其他iPhone/iPod Touch。它不会检测到附近的所有蓝牙设备。您可以自己使用较低级别的Bonjour discovery来查找所有通过WiFi或蓝牙进行网络访问的Bonjour设备,但蓝牙访问本身却离您越来越远。

干杯。是的,我知道你不能让它在sim卡上工作。我不需要尽可能多的去发现一切,不需要完美。如何使用bonjor检测所有蓝牙?Bonjour不会区分iPhone上的网络类型,它只会报告任何可用网络(蓝牙、WiFi或其他)上的所有Bonjour响应设备。除了关闭WiFi和手机接口,没有办法让它只返回蓝牙设备。它也只能找到Bonjour设备,而很少有蓝牙设备。请参阅NSNetServices和CFNetServices编程指南:干杯。是的,我知道你不能让它在sim卡上工作。我不需要尽可能多的去发现一切,不需要完美。如何使用bonjor检测所有蓝牙?Bonjour不会区分iPhone上的网络类型,它只会报告任何可用网络(蓝牙、WiFi或其他)上的所有Bonjour响应设备。除了关闭WiFi和手机接口,没有办法让它只返回蓝牙设备。它也只能找到Bonjour设备,而很少有蓝牙设备。请参阅NSNetServices和CFNetServices编程指南: