centralManagerDidUpdateState始终返回PoweredOff

问题描述 投票:0回答:1

在我的应用程序中,我检查蓝牙是否打开,如果关闭我向用户显示警报以启用它。对于此功能,我使用centralManagerDidUpdateState并检查[中央状态]。在iOs 10设备上工作正常,但是,在iOs 11上不起作用,执行此操作后始终返回CBCentralManagerStatePoweredOff:

1.-我去配置,我关闭了蓝牙。

2.-我打开应用程序,调用centralManagerDidUpdateState回调并检测PoweredOff。

3.-我去配置,我打开蓝牙。

4.-我回到应用程序,并且调用了centralManagerDidUpdateState,并且当蓝牙处于打开状态时,PoweredOff仍然是状态。

这个问题是iOs 11的错误吗?有人知道检查蓝牙是否开启的任何解决方案?

谢谢

objective-c xcode bluetooth ios11
1个回答
1
投票

我也面临同样的问题。我正在测试BLE功能,在iOS 10.3.3上使用这个示例项目“https://github.com/jasonmgeorge/BLEScanner”,在iOS 11.2上使用另一个设备。在iOS 10.3.3上它运行正常但在另一台设备上,我一直都遇到同样的错误。然后我意识到了

NSBluetoothPeripheralUsageDescription

不在Info.plist中,所以我补充道。我又得到了“CBCentralManagerStatePoweredOff”。我去设置关闭蓝牙电源然后再打开。它神奇地工作。这很可能是iOS 11的错误。请检查您的实施。它不是很一致,但有时它有效。

© www.soinside.com 2019 - 2024. All rights reserved.