如果蓝牙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理器的警报。 一旦标志被设置,它将分别对CBCentralManager
或CBPeripheralManager
所有其他实例有效。 在我的情况下,我实例化CBPeripheralManager
的唯一原因是设置标志。
@property CBPeripheralManager *pManager; *peripheralManager = [[CBPeripheralManager alloc]initWithDelegate:nil queue:nil options:@{CBPeripheralManagerOptionShowPowerAlertKey:@NO}];
请注意,您必须将该实例分配给某个属性,否则它将无法工作。