Sto creando un'applicazione iOS che si collega a un auricolare Bluetooth (BLE).Bluetooth iOS - Coppia ora popup
- che cerco & collegare l'auricolare al mio iPhone
- accoppiare il dispositivo con il mio iPhone
- apro la mia domanda, cerca i dispositivi bluetooth
- Quando l'applicazione trova il mio dispositivo, chiede connettersi ad esso.
- L'iOS si solleva un messaggio che chiede all'utente di premere il pulsante "Pair ora" per connettersi al dispositivo
Dal momento che ho già associato a un dispositivo prima di usare la mia domanda, c'è un modo per collegare senza il popup "Pair now" all'interno dell'applicazione?
--------------- EDIT 1 ---------
ho cambiato il mio codice un po '. Saluto l'UUID del mio dispositivo quando mi connetto per la prima volta e quando ricollego il mio dispositivo l'applicazione trova l'UUID salvato e prova a trovare la "periferica nota" e riconnettersi ad essa. Il codice in realtà trova la "periferica nota" ma dopo che provo a riconnetterlo, chiede di nuovo di accoppiarsi. C'è un modo per evitare il popup "pair now" quando il dispositivo si ricollega?
Snippets:
-(void) connectToPeripheral : (CBPeripheral*) peripheral {
[self.centralManager stopScan];
self.peripheral = peripheral;
peripheral.delegate = self;
[self.centralManager connectPeripheral:peripheral options:nil];
self.peripheral = peripheral;
}
-(void) searchForDevices {
// Scan for all available CoreBluetooth LE devices
if (self.centralManager == nil) {
CBCentralManager *centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
self.centralManager = centralManager;
}
//check if previous peripheral exists
NSArray *knownPeripherals = nil;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString* knownPeripheralID = [defaults stringForKey:@"knownPeripheralID"];
if (knownPeripheralID != nil) {
self.connectedPeripheralUUID = [[NSUUID alloc] initWithUUIDString:knownPeripheralID];
knownPeripherals = [self.centralManager retrievePeripheralsWithIdentifiers:[NSArray arrayWithObjects:self.connectedPeripheralUUID, nil]];
}
if (knownPeripherals != nil && [knownPeripherals count] > 0) {
NSLog(@"knownPeripherals Peripherals");
CBPeripheral *foundPeripheral = [knownPeripherals objectAtIndex:0];
[self connectToPeripheral:foundPeripheral];
} else {
NSArray *connectedPeripherals = [self.centralManager retrieveConnectedPeripheralsWithServices:[NSArray arrayWithObjects:UUID_SERIAL_SERVICE_STR, nil]];
NSLog(@"Connected Peripherals");
if (connectedPeripherals != nil && [connectedPeripherals count] > 0) {
} else {
[self.centralManager scanForPeripheralsWithServices:nil options:nil];
}
}
}
si può mostrare il codice che si sta utilizzando nella vostra applicazione per trovare e connettersi al dispositivo? – Paulw11
@ Paulw11 controlla ora – Panos
Ho un'app bluetooth ma non ho mai visto questa finestra popup? Stai inconsapevolmente alzando un avviso? Forse se hai copiato qualche codice da un esempio o qualcosa del genere? – Braains