Отключить предупреждение, если Bluetooth выключен iOS

Мое приложение IOS использует Bluetooth для подключения к аксессуару. Если 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}];

Обратите внимание, что вы должны назначить экземпляр свойству, иначе он не будет работать.

Другие вопросы по тегам