【问题标题】:User permission to pair with Bluetooth device与蓝牙设备配对的用户权限
【发布时间】:2015-03-15 03:10:09
【问题描述】:

我正在阅读“Performing Common Central Role Tasks",它包含有关如何发现外围设备以及如何连接到外围设备的信息,但我似乎无法找到如何检查用户是否在弹出窗口中选择了取消或配对,因为弹出窗口是在我出现时致电[myCentralManager connectPeripheral:peripheral options:nil];。如果用户在“配对”弹出窗口上单击“取消”,我希望不连接到(或断开)外围设备。我可以通过其他方式调用“配对”弹出窗口吗?

【问题讨论】:

  • 在您尝试读取/写入需要加密的特征之前,您不应该看到配对弹出窗口 - 除非您的外围设备正在启动连接配对。

标签: ios connect core-bluetooth user-permissions pairing


【解决方案1】:

通过尝试读取/写入/通知需要加密的特征来启动配对过程。

如果配对过程完成,则将调用适当的CBPeripheralDelegate 方法(例如didUpdateValueForCharacteristic:)并返回零错误。

如果配对过程失败或被取消,则将调用 CBPeripheralDelegate 方法,并使用一个指示“加密不足”的 NSError 对象 - CBATTErrorInsufficientEncryption。

如果您收到加密不足的错误,您可以断开与外围设备的连接或重试该操作,这将再次显示配对对话框。我建议你重试几次,比如 3 次,以防用户输入 PIN 时出错。

【讨论】:

  • 我已经使用了您的建议,并在didUpdateValueForCharacteristic 中执行了此操作:` if(error.domain == CBATTErrorDomain && error.code == 5){[managerCentral cancelPeripheralConnection:peripheral];}` 我猜这是正确的方法吗?
猜你喜欢
  • 1970-01-01
  • 2021-04-26
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多