Ответ 1
iOS 7 имеет новый параметр options
при создании CBCentralManager
, чтобы отключить его.
Мне бы понравилось решение для более ранних iOS.
Сценарий выглядит следующим образом. У меня уже развернутое приложение используется людьми. Я рассматриваю возможность применения некоторых экспериментальных функций Bluetooth Low Energy, но прежде чем я это сделаю, я хочу провести "в диком" опросе количество пользователей, у которых Bluetooth включен или остается Bluetooth все время. Таким образом, я хотел бы просто проверить это в фоновом режиме и отправить обратно статистику сервера по количеству пользователей с уже включенным Bluetooth, даже не используя связь Bluetooth.
Я успешно создал экземпляр CBCentralManager
в своем приложении и могу получить статус Bluetooth сразу после создания экземпляра и когда состояние Bluetooth обновляется через centralManagerDidUpdateState:
. Так что все хорошо. Проблема, с которой я столкнулась, заключается в том, что если состояние CBCentralManagerStatePoweredOff
, то устройство выдает предупреждение, в котором пользователю предлагается включить "Включить Bluetooth, чтобы разрешить [имя приложения] для подключения к аксессуарам". Именно эту подсказку я стараюсь избегать. На этом этапе я просто хочу изучить количество пользователей, которые оставляют Bluetooth включен - я не хочу использовать соединение Bluetooth.
Итак, есть ли способ проверить статус Bluetooth без запроса пользователя, если вы не собираетесь использовать соединение Bluetooth?
iOS 7 имеет новый параметр options
при создании CBCentralManager
, чтобы отключить его.
Мне бы понравилось решение для более ранних iOS.
Вы можете использовать следующее, когда вы инициализируете CBCentralManager
.
NSDictionary *options = @{CBCentralManagerOptionShowPowerAlertKey: @NO};
self.manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil options:options];
Возможно, я не объяснил это правильно, пожалуйста, прямо в комментарий, если есть какие-либо проблемы.