在iOS7 +上以编程方式打开蓝牙的任何方法

时间:2014-05-23 16:01:48

标签: ios

我听说iOS7在CBCentralManager中引入了这个功能但却无法找到。有可能吗?还有另一种方法是使用GKPeerPickerController吗?

3 个答案:

答案 0 :(得分:22)

您还可以在将CBCentralManagerOptionShowPowerAlertKey实例化为CBCentralManager时设置true键。然后iOS将显示警告“打开蓝牙以允许”您的应用程序“连接到附件”。此警报将直接带您进入蓝牙设置页面。

SampleCode在swift中:

centralManager = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionShowPowerAlertKey: true])

ObjectiveC中的SampleCode:

centralManager = [[CBCentralManager alloc]
                                      initWithDelegate:self 
                                      queue:dispatch_get_main_queue() 
                                      options:@{CBCentralManagerOptionShowPowerAlertKey: @(YES)}];

快乐编码.. :)

答案 1 :(得分:13)

不,如果用户关闭蓝牙,您只能显示警告或消息,要求他们将其打开。

- (void)centralManagerDidUpdateState:(CBCentralManager *)central {

    if (central.state == CBCentralManagerStatePoweredOff) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Error" message: @"Please turn on Bluetooth in Settings" delegate: nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
       [alert show]; 
    }
 }

答案 2 :(得分:-2)

使用蓝牙管理器框架,

导入bluetoothManager Framework,创建蓝牙管理器框架的对象,如btManager,

在Bluetooth On按钮目标

中编写以下代码
[btManager setPowered:YES];
[btManager setEnabled:YES];

一切顺利......