Я пытаюсь подключиться к периферийным устройствам устройства BlueTooth LE с помощью простого (очень похожего на приложение Hello World) OSX.Подключиться к периферии устройства Bluetooth LE от приложения OSX
Я следую линиям руководства Apple, но когда я пытаюсь подключиться к периферийному устройству, мое приложение не работает должным образом.
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
NSLog(@"Discovered %@", peripheral.name);
if([peripheral.name isEqualToString:@"BLE-DEVICE"]){
NSLog(@"Found BLE Device!");
[_centralManager stopScan];
NSLog(@"Scanning stopped");
peripheral.delegate = self;
[_centralManager connectPeripheral:peripheral options:nil];
}
}
Проблема заключается в том, что connectPeripheral
(последняя строка) не запускает centralManager:didConnectPeripheral
метод объекта делегата, но если я запускаю шаг за шагом отладки с простой точкой излома это делает.
Должен ли я добавить некоторые другие параметры сканирования? Как я могу проверить, правильно ли выполнено соединение?
Вам необходимо убедиться, что вы сохранили локальную копию CBPeripheral. –
Сохранение локальной копии CBPeripheral делает мое приложение работоспособным. Я не понимаю, почему, но это работает! Спасибо. – alesdario