CBPeripheral.ancs授权的信息不可靠

时间:2019-09-01 07:56:17

标签: ios ios13 cbperipheral cbcentralmanager ancs

我们的应用程序可与使用ANCS的配对蓝牙外围设备一起使用,这就是为什么我会尽早研究全新的隐私设置“共享系统通知”以使我们的应用程序可用于iOS13的原因... 但是,存在一个问题,CBPeripheral属性ancsAuthorized(Bool)不可靠,因此就无法知道用户是否授予了授权。有两种方式不可靠:

  1. 连接到外围设备后,询问 peripheral.ancsAuthorized首先总是返回false,然后在重新连接后总是返回true,无论在连接授权开关之前进行了什么设置。
  2. 第二种情况,使用新的CBCentralManager时 委托didUpdateANCSAuthorizationFor:cbperipheral:被解雇 每次我使用设置开关(位于iOS>蓝牙>设备设置中)成功播放时,但是 不幸的是,peripheral.ancsAuthorized的结果始终是 true,我是否可以打开或关闭授权:(

在专用的支持票的帮助下,我将sysdiagnose文件和完整的说明发布给了Apple反馈助手,但是到目前为止,它仍然是开放的,根本没有任何新闻……

有人有机会成功使用此新的隐私设置吗?

2 个答案:

答案 0 :(得分:0)

在安装iOS 13.1 beta 2后,Apple似乎已经解决了问题编号2。 但是,第一个问题,即一旦连接到CBPeripheral,即获得该授权的状态,仍然是随机的,有时返回的总是true,有时总是false ...

答案 1 :(得分:-1)

在连接时将 CBConnectPeripheralOptionRequiresANCS 添加到选项中。

centralManager.connect(peripheral, options: [
      CBConnectPeripheralOptionRequiresANCS: true
 ])