如果蓝牙closuresiOS,禁用警告对话框

我的ios应用程序使用蓝牙连接到附件。 如果蓝牙没有启用,会popup一个要求我激活的popup窗口。

蓝牙弹出

我注意到popup窗口出现每次我运行应用程序。

我的问题是,是否可以显示popup一次,即只有在第一次启动后( fitbit应用程序这样做,我也想知道是否有可能改变popup窗口的语言。

我的应用程序是iOS7和iOS6

如果我们不能改变语言,有没有办法来禁用这个popup,那么我将开发我自己的视图(popup)与本地化的系统?

非常感谢你!

我从苹果开发者处得到了以下回应:在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,并不能告诉它实际上做了什么。 但在这种情况下,您必须抑制外围pipe理器的警报。 一旦标志被设置,它将分别对CBCentralManagerCBPeripheralManager所有其他实例有效。 在我的情况下,我实例化CBPeripheralManager的唯一原因是设置标志。

 @property CBPeripheralManager *pManager; *peripheralManager = [[CBPeripheralManager alloc]initWithDelegate:nil queue:nil options:@{CBPeripheralManagerOptionShowPowerAlertKey:@NO}]; 

请注意,您必须将该实例分配给某个属性,否则它将无法工作。