我需要能够搜索附近的所有蓝牙设备,然后才能到达那里。我根本不需要配对。我正在使用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.
答案 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设备,但蓝牙访问本身是从您身上抽象出来的。