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

时间:2019-07-16 07:28:08

标签: ios core-bluetooth

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

CBPeripheralManagerDelegate具有peripheralManagerDidUpdateState,但是无论用户是否授予许可,它都不会返回unauthorized,而是仅返回poweredOnpoweredOff

2 个答案:

答案 0 :(得分:2)

CBCentralManagerCBPeripheralManager继承自CBManager

从iOS 13开始,CBManager具有authorization属性。您可以检查.allowedAlways

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

答案 1 :(得分:1)

请注意,苹果在13.0和13.1之间更改了CBManager API

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

13.0实例属性has been marked as deprecated