Как переподключить устройство BLE в фоновом режиме после выключения и включения?
Я работаю над небольшим проектом, связанным с BLE. У меня есть требование, что мне нужно повторно подключить устройство в фоновом режиме после выключения вручную, а затем отключить Bluetooth из iPhone-> Настройки->Bluetooth.
1 ответ
Просто сохраните идентификатор периферийного устройства или (UUID для Для iOS 7: Для iOS 6: ПРИМЕЧАНИЕ: это всего лишь фрагменты кода. Вы должны также контролировать - (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
if(central.state == CBCentralManagerStatePoweredOn)
{
NSUUID *uuid = [[NSUUID alloc]initWithUUIDString:savedUUID];//where savedUUID is the string version of the NSUUID you've saved somewhere
NSArray *peripherals = [_cbCentralManager retrievePeripheralsWithIdentifiers:@[uuid]];
for(CBPeripheral *periph in peripherals)
{
[_cbCentralManager connectPeripheral:periph options:nil];
}
}
}
- (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
if(central.state == CBCentralManagerStatePoweredOn)
{
CFUUIDRef uuid;//the cfuuidref you've previously saved
[central retrievePeripherals:@[(id)uuid]];//now wait for the delegate callback below
}
}
- (void)centralManager:(CBCentralManager *)central didRetrievePeripherals:(NSArray *)peripherals
{
for(CBPeripheral *periph in peripherals)
{
[_centralManager connectPeripheral:periph options:nil];
}
}
CBCentralManagerStatePoweredOff
(среди прочего) и отмените все текущие периферийные соединения, когда вы получите это обновление.