iOS CoreBluetooth:有没有办法在不显示iOS上的警报视图的情况下进行JustWorks配对?

Sub*_*ero 6 ios core-bluetooth

我正在使用我的iPhone作为中央设备并连接到外围设备以读取受保护的特性.

在我的场景中,对于配对,中央(iPhone)同时具有键盘和显示,外设响应没有输入和输出功能.

这迫使中央(iPhone)执行Just Works配对.

根据维基百科 - "正常工作:顾名思义,这种方法正常运行,没有用户交互.但是,设备可能会提示用户确认配对过程."

不幸的是,在iOS设备上,BLE堆栈会自动弹出警报视图,提示用户确认或取消配对过程,并且至少在第一次需要用户干预时(AFAIK,此警报视图由iOS BLE堆栈,我们无法阻止它从应用程序编程层面出现.

我的问题是 - 有没有办法可以使这个警报视图静音,以便在没有任何用户干预的情况下进行配对?

我在iPhone6上运行iOS8.3.

小智 5

这就是“Just Works”在 iOS 上的表现。正如您所指出的,它删除了密钥要求,但没有删除用于绑定的用户交互步骤。

接受的答案不正确,因为不需要密码并且没有用于带外绑定的公共 Apple API。这个答案更详细地介绍了它;/sf/answers/2053677881/


Pau*_*w11 0

正如您所注意到的,尝试在 iOS 上使用核心蓝牙读取加密特征会触发绑定过程。 需要绑定的核心蓝牙不支持Just Works配对。仅支持密钥配对。

你基本上有两个选择:

  1. 删除加密要求
  2. 接受显示配对对话框并提供固定 PIN 或带外机制(例如设备上的贴纸)

  • 这个答案不正确。请参阅 BruceBannor 的回答。 (2认同)