2

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

  1. 一旦连接到外围设备,首先询问 peripheral.ancsAuthorized总是返回false,然后在重新连接后总是返回true,无论在连接之前设置授权开关。
  2. 第二种情况,当使用新的 CBCentralManager 委托didUpdateANCSAuthorizationFor:cbperipheral 时:每次我使用设置开关(位于 iOS > 蓝牙 > 设备设置)时都会成功触发,但不幸的是,结果peripheral.ancsAuthorized总是 true,我是否切换授权开启或关闭:(

在专门的支持票帮助下,我向 Apple 反馈助手发布了一个 sysdiagnose 文件和完整描述,但到目前为止它仍然处于打开状态,根本没有任何消息……

有没有人有机会成功使用这个新的隐私设置?

4

2 回答 2

-1

看起来在安装 iOS 13.1 beta 2 后,问题 numner 2 已被 Apple 修复。然而,第一个问题,即在连接到 CBPeripheral 后获取该授权的状态,仍然是随机的,有时它总是返回 true,有时总是返回 false……</p>

于 2019-09-09T13:17:54.820 回答
-1

连接时添加CBConnectPeripheralOptionRequiresANCS到选项。

centralManager.connect(peripheral, options: [
      CBConnectPeripheralOptionRequiresANCS: true
 ])
于 2021-02-18T20:35:05.547 回答