2

我正在研究 bluetooth4.0,但我发现 CoreblueTooth 无法在 iOS 6+ 上运行,我的 iphone4s 是 IOS 6.1.2。

它找不到任何设备(我确定设备已打开电源),每次的日志如下:

CoreBluetooth[WARNING] 未开机

有没有人遇到过这个问题?

4

2 回答 2

3

状态 CBCentralManagerStatePoweredOn 不仅意味着蓝牙已打开,还意味着您的 CBCentralManager 或 CBPeripheralManager 实例已准备好使用。您必须初始化您的管理器,然后等待其状态更改后再使用它。例如,如果您充当 Central,则可以使用以下内容对其进行初始化:

centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:nil];

并实现委托方法centralManagerDidUpdateState:

- (void)centralManagerDidUpdateState:(CBCentralManager *)central
{
    if (central.state == CBCentralManagerPoweredOn)
    {
        //do your stuff, it's ready
    }
}
于 2013-03-12T21:18:49.640 回答
0

我正在运行 6.0.1 的 iPhone 4S 上进行测试。iPhone 处于中心地位,我没有看到你的警告。

你能更具体地说明你在做什么吗?- 你是外围还是核心?

您是否按如下方式初始化了 CBCentralManager(如果您是中央管理器)?

centralManager = [[CBCentralManager alloc] initWithDelegate:self queue:dispatch_get_main_queue()];

我希望我能帮助你

于 2013-03-12T09:24:05.053 回答