检查 CBPeripheralManager.authorizationStatus() 现在它已被弃用

m0s*_*m0s 5 ios core-bluetooth

CBPeripheralManager.authorizationStatus()并且CBPeripheralManagerAuthorizationStatus基于苹果文档被弃用。现在检查用户是否已授予在后台使用蓝牙的权限的正确方法是什么?

CBPeripheralManagerDelegatehas peripheralManagerDidUpdateStatebut that 永远不会返回unauthorized,无论用户是否授予权限,而是只返回poweredOnpoweredOff

Pau*_*w11 6

CBCentralManagerCBPeripheralManagerCBManager.

从 iOS 13 开始,CBManager有一个authorization属性。你可以检查这个.allowedAlways

您可以在 iOS 13 及更高版本上if #available(iOS 13.0, *)有条件地使用authorization


gab*_*nus 6

请注意,AppleCBManager在 13.0 和 13.1 之间更改了API

  • 在 13.0 中authorization是实例属性。
  • 在 13.1 中authorization是类型(类)属性。

13.0 实例属性已被标记为 deprecated