Отключить предупреждение, если Bluetooth выключен iOS
Мое приложение IOS использует Bluetooth для подключения к аксессуару. Если Bluetooth не включен, появляется всплывающее окно с просьбой активировать.
Я заметил, что всплывающее окно появляется каждый раз, когда я запускаю приложение.
Мой вопрос заключается в том, возможно ли отображать всплывающее окно один раз, то есть только после первого запуска (это делает приложение fitbit. Я также хочу знать, можно ли изменить язык всплывающего окна.
Мое приложение для iOS7 и iOS6
Если мы не можем изменить язык, есть ли способ отключить это всплывающее окно, тогда я разработаю свое собственное представление (всплывающее окно) с локализованной системой?
Спасибо вам большое!
2 ответа
Я получил следующий ответ от разработчика Apple: В iOS7 CBCentralManagerOptionShowPowerAlertKey
Опция позволяет отключить это предупреждение.
Если у тебя есть CBCentralManager
затем, когда вы его инициализируете, вы можете использовать метод -[CBCentralManager initWithDelegate:queue:options]
Пример:
В моем.h файле у меня есть CBCentralManager * manager
,
В моем.m файле:
NSDictionary *options = @{CBCentralManagerOptionShowPowerAlertKey: @NO};
_manager = [[CBCentralManager alloc] initWithDelegate:self queue:nil options:options];
[_manager scanForPeripheralsWithServices:nil options:options];
С этим кодом предупреждение больше не появляется. Надеюсь, это поможет!
Если вы подключаетесь к дополнительным устройствам, вы также можете использовать CBPeripheralManager
вместо CBCentralManager
, Уделите мне немного времени, чтобы понять это, потому что я использовал SDK и не мог сказать, что он на самом деле сделал. Но в этом случае вы должны отключить оповещение на периферийном менеджере. Как только флаг установлен, он будет действителен для всех остальных экземпляров CBCentralManager
или CBPeripheralManager
соответственно. Я в моем случае, единственная причина, по которой я CBPeripheralManager
вообще было установить флаг.
@property CBPeripheralManager *pManager;
*peripheralManager = [[CBPeripheralManager alloc]initWithDelegate:nil queue:nil options:@{CBPeripheralManagerOptionShowPowerAlertKey:@NO}];
Обратите внимание, что вы должны назначить экземпляр свойству, иначе он не будет работать.