Вопрос о периферийном Bluetooth-подключении iOS6.
в info.plist, если я добавлю UIBackgroundModes bluetooth-peripheral, при запуске приложения он запрашивает разрешение в первый раз.
"appname" будет нравится делать данные доступными для ближайших Bluetooth-устройств, даже если вы не используете приложение
если я отклоняю (не разрешаю) запрос, настройка - конфиденциальность - Общий доступ по Bluetooth - «Имя приложения» переключается на «ВЫКЛ»;
Я настроен прослушивать CBPeripheralManagerDelegate, чтобы узнать, могу ли я, но он всегда возвращает «ON», даже если я отклоняю запрос. (это также имеет смысл, потому что он «включен» перед тем, как перейти в фоновый режим)
- (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral{
NSLog(@"%s",__func__);
NSLog(@"%@",[peripheral description]);
NSString *state = nil;
switch (peripheral.state) {
case CBPeripheralManagerStateResetting:
state = @"resetting"; break;
case CBPeripheralManagerStateUnsupported:
state = @"unsupported"; break;
case CBPeripheralManagerStateUnauthorized:
state = @"unauthorized"; break;
case CBPeripheralManagerStatePoweredOff:
state = @"off"; break;
case CBPeripheralManagerStatePoweredOn:
state = @"on"; break;
default:
state = @"unknown"; break;
}
NSLog(@"peripheralManagerDidUpdateState:%@ to %@ (%d)", peripheral, state, peripheral.state);
}
Я вижу, что CBPeripheralManagerStateUnauthorized выглядит так, как будто он показывает статус отказа, но я не могу получить этот статус, даже если я отклонил запрос.
Вопрос: «Есть ли способ узнать, что пользователю отказано в фоновом доступе?»