ios- cbcentralManager 状态未知且 CoreBluetooth[WARNING] <CBConcreteCentralManager> 未通电

Posted

技术标签:

【中文标题】ios- cbcentralManager 状态未知且 CoreBluetooth[WARNING] <CBConcreteCentralManager> 未通电【英文标题】:ios- cbcentralManager state unknown and CoreBluetooth[WARNING] <CBConcreteCentralManager> is not powered on 【发布时间】:2013-02-06 05:16:23 【问题描述】:

我正在开发 CoreBluetooth 框架。我运行了著名的temperatureSensor 应用程序,但是当我在模拟器上运行它时,我收到以下警告:

 CoreBluetooth[WARNING] <CBConcreteCentralManager: 0x713b550> is not powered on

我检查了CBCentralManager 的状态,它是Unknown。以下是代码:

(void) startScanningForUUIDString:(NSString *)uuidString 
    centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];

    if ([centralManager state] == CBCentralManagerStatePoweredOff) NSLog(@"CBCentralManagerStatePoweredOff");
    if ([centralManager state] == CBCentralManagerStatePoweredOn) NSLog(@"CBCentralManagerStatePoweredOn");
    if ([centralManager state] == CBCentralManagerStateResetting) NSLog(@"CBCentralManagerStateResetting");
    if ([centralManager state] == CBCentralManagerStateUnauthorized) NSLog(@"CBCentralManagerStateUnauthorized");
    if ([centralManager state] == CBCentralManagerStateUnknown) NSLog(@"CBCentralManagerStateUnknown");
    if ([centralManager state] == CBCentralManagerStateUnsupported) NSLog(@"CBCentralManagerStateUnsupported");
    NSArray *uuidArray = [NSArray arrayWithObjects:[CBUUID UUIDWithString:uuidString], nil];

    NSLog(@"%@", uuidArray);
    NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:CBCentralManagerScanOptionAllowDuplicatesKey];
    [centralManager scanForPeripheralsWithServices:uuidArray options:options];

我该如何解决?

【问题讨论】:

【参考方案1】:

似乎蓝牙设备未连接或未检测到。 即使您的机器可能支持 BTLE,您也需要连接外部 USB BLE 加密狗才能将其与模拟器一起使用。 这个来自 Apple 的 application note 可能会有所帮助

【讨论】:

嗯,如果是温度传感器应用程序,那么蓝牙设备必须是启用了 BT 的温度传感器吧? @DennisMathews:链接断开。

以上是关于ios- cbcentralManager 状态未知且 CoreBluetooth[WARNING] <CBConcreteCentralManager> 未通电的主要内容,如果未能解决你的问题,请参考以下文章

CBCentralManager 状态总是关闭

macOS CBCentralManager状态不受支持

iOS 核心蓝牙 CBCentralManager scanForPeripheralsWithServices 无结果

多个 CBCentralManager 实例?

核心蓝牙 CBCentralManager 总是在 ipad2 上报告状态为未知

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