我正在研究 iOS 7 中提供的 Multipeer Connectivity 框架。我正在尝试使用具有 CBCentralManager 类的 CoreBluetooth 框架来检查蓝牙的状态。我正在使用以下代码片段:
//in viewDidLoad
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:FALSE], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
NSMutableArray * discoveredPeripherals = [NSMutableArray new];
self.bluetoothManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];
self.bluetoothManager.delegate = self;
[self.bluetoothManager scanForPeripheralsWithServices:discoveredPeripherals options:options];
[self.bluetoothManager stopScan];
//CBCentralManager delegate method
- (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
// You should test all scenarios
if (central.state != CBCentralManagerStatePoweredOn)
{
return;
}
if (central.state == CBCentralManagerStatePoweredOn)
{
// Scan for devices
NSLog(@"Bluetooth On");
}
}
它在具有 iOS7 的 iPhone5 上工作正常,但在具有 iOS7 的 iPad 2 中无法正常工作。我想检查 iOS 7 的蓝牙状态,无论设备版本如何。在不使用越狱或任何第三方类的情况下,还有其他解决方案吗?谁能帮我解决这个问题?
谢谢。