【问题标题】:centralManagerDidUpdateState always return PoweredOffcentralManagerDidUpdateState 总是返回 PoweredOff
【发布时间】:2018-03-14 10:27:02
【问题描述】:

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

1.- 我进入配置并关闭蓝牙。

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

3.- 我进入配置并打开蓝牙。

4.-我回到应用程序,调用centralManagerDidUpdateState,PoweredOff仍然是蓝牙开启时的状态。

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

谢谢

【问题讨论】:

    标签: objective-c xcode bluetooth ios11


    【解决方案1】:

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

    NSBluetoothPeripheralUsageDescription

    不在 Info.plist 中,所以我添加了。我再次得到“CBCentralManagerStatePoweredOff”。我去设置关闭蓝牙并再次打开。它神奇地工作。这很可能是 iOS 11 的错误。请检查您的实施。它不是很一致,但有时会起作用。

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      相关资源
      最近更新 更多