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

时间:2010-02-16 03:19:14

标签: iphone iphone-sdk-3.0 bluetooth

我需要能够搜索附近的所有蓝牙设备,然后才能到达那里。我根本不需要配对。我正在使用iphone 2.3 beta。

这是否可能我尝试过使用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 withContext:nil];

出现以下错误

Scanner[42754:207] Error: 30500 -- Invalid parameter for -setDataReceiveHandler:withContext:.

然后 ~ DNSServiceRegister callback: Ref=471fa40, Flags=2, ErrorType=0 name=00rusor1A..iPhone Simulator regtype=_q1eu29voete9jf._udp. domain=local.

1 个答案:

答案 0 :(得分:1)

self是否实现了所需的方法

- (void) receiveData:(NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context;

某处?否则,它无法满足-setDataReceiveHandler:withContext:方法的需要。此外,我不相信您可以从iPhone模拟器中访问蓝牙功能。

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