6

Ho bisogno di ottenere l'elenco dei dispositivi bluetooth accoppiati (dispositivi iOS) come l'elenco nella sezione "Bluetooth" nelle impostazioni iOS, come mostrato nella figura qui sotto.Come ottenere l'elenco dei dispositivi bluetooth accoppiati in modo rapido?

enter image description here

è possibile?
Hai mai visto app che eseguono questo tipo di funzionalità?

Ho provato quanto segue: link1, link2, link3, link4, link5, link6

Ma niente mi ha aiutato in modo chiaro per ottenere l'elenco esatto. Spero che ci dovrebbe essere un modo per raggiungere questo obiettivo. Per favore aiutami condividendo la tua esperienza. Grazie.

+1

È possibile recuperare i dettagli di dispositivi BLE che sono accoppiati/collegato ma non dispositivi legacy come auricolari/mani gratis ecc. – Paulw11

+0

Ok, grazie. Potete fornirmi le linee guida sulla soluzione di lavoro per rendere l'elenco dei dispositivi BLE accoppiati/connessi? –

+0

@ Paulw11 Sarei interessato anche perché non so di un'API che elenca i dispositivi disconnessi. Per i dispositivi collegati esiste [- retrieveConnectedPeripheralsWithServices:] (https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/CBCentralManager_Class/index.html#//apple_ref/occ/instm/CBCentralManager/retrieveConnectedPeripheralsWithServices:) API. – allprog

risposta

0

è necessario trovare l'UUID del servizio in cui si è interessati, nel mio caso funziona perfettamente,

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil]; 
[self.centralManager scanForPeripheralsWithServices:@[[CBUUID UUIDWithString:SERVICE_UUID]] 
              options:options]; 

e quando sarà trovare qualsiasi dispositivo che pubblicizzare stesso UUID del servizio, allora apparirà nel schermo che hai indicato sopra.

manico didDiscoverperipherel in questo modo:

-(void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI{ 

    _discoveredPeripheral = peripheral; 

    if(![self.mRemoteDevices containsObject:_discoveredPeripheral]) 
    { 
     NSArray *peripherels = [self.centralManager retrievePeripheralsWithIdentifiers:@[_discoveredPeripheral.identifier]]; 
     [self.mRemoteDevices addObject:[peripherels objectAtIndex:0]]; 
    } 
} 
+0

Ho richiesto solo la lista abbinata, solo i nomi sono sufficienti per me. Quale UUID devo usare per questo. –

+0

Fai attenzione che non puoi distinguere i dispositivi solo da UUID. – Zimano

+0

non è possibile recuperare i dispositivi semplicemente, è necessario disporre di UUID di servizio in cui sei interessato. – manish

1

E 'possibile ottenere l'elenco dei dispositivi associati/collegati se solo si dispone di loro pubblicità UUID.

dispatch_queue_t centralQueu = dispatch_queue_create("A_NAME", NULL); 
_centralManager = [[CBCentralManager alloc] 
           initWithDelegate:self 
           queue:centralQueu 
           options: @{CBCentralManagerOptionRestoreIdentifierKey:@"RESTORE_KEY", 
              CBCentralManagerOptionShowPowerAlertKey: @YES}]; 
_ServiceUUIDs = @[[CBUUID UUIDWithString:@"THE_UUID"]] //the array of CBUUIDs which you are looking for 
[_centralManager retrieveConnectedPeripheralsWithServices:_ServiceUUIDs] 

È possibile ottenere la dispositivi BLE annuncio UUID utilizzando alcune applicazioni iOS, come ad esempio LightBlue e nRFConnect

Problemi correlati