Получение списка устройств Bluetooth поблизости на iphone SDK - PullRequest
1 голос
/ 16 февраля 2010

Мне нужно иметь возможность искать все устройства 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 Ответ

1 голос
/ 16 февраля 2010

Реализует ли self требуемый метод

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

где-нибудь? В противном случае он не сможет удовлетворить потребности метода -setDataReceiveHandler:withContext:. Кроме того, я не верю, что вы можете получить доступ к функциям Bluetooth из iPhone Simulator.

В целом, я не думаю, что это будет делать то, что вы хотите. GameKit использует Bonjour discovery для обнаружения других касаний iPhone / iPod, на которых выполняются подобные игровые сеансы в локальной сети Bluetooth. Он не будет обнаруживать все устройства Bluetooth в непосредственной близости. Вы можете использовать обнаружение Bonjour более низкого уровня самостоятельно, чтобы найти все устройства Bonjour, которые доступны по сети через WiFi или Bluetooth, но сам доступ по Bluetooth удален от вас.

...