Насколько я знаю, менеджер bluetooth получает список после того, как ОС отфильтровывает результаты - это означает, что вы получите только близлежащие гарнитурные устройства, а не все общие устройства. Если вам нужно найти все общие устройства, вам придется использовать ответ @ rajagp.
В случае, если достаточно найти гарнитуру, вы можете использовать уведомления, как вы сказали; уведомление об обнаружении устройства называется «BluetoothDeviceDiscoveredNotification». Сначала вы должны перечислить уведомления с:
[[NSNotificationCenter defaultCenter]
addObserver: self
selector: @selector( your_discovery_method_name)
name: @"BluetoothDeviceDiscoveredNotification"
object: nil];
"your_discovery_method_name" - это метод, который вы пишете, который показывает / принимает уведомление. Это будет выглядеть примерно так:
-(void) your_discovery_method_name:(NSNotification *) notification {
self.device = [notification object];
NSLog(@"found: %@",self.device.address);
// ...
}
Устройство относится к типу BluetoothDevice.