如何在使用蓝牙连接到设备之前询问身份验证?

问题描述:

我想制作演示应用程序,其中包含以下功能。如何在使用蓝牙连接到设备之前询问身份验证?

  1. 在我的设备中搜索并显示设备列表蓝牙范围。
  2. 连接(配对)选定的设备。
  3. 然后分享字符串数据。

为此我使用核心蓝牙框架(*和外围类)。使用我可以搜索设备,连接设备和传输字符串数据也。

但我无法在配对之前认证设备(当我调用连接方法时,它直接显示我连接状态)。它在ios中如何处理?

也请建议我我在正确的路径或我需要使用另一个库来实现此功能。

+1

如果你的周围有需要加密,然后,iOS将提示配对的特性。如果没有,那么它只会连接 – Paulw11

+0

@ Paulw11,当我们连接其他Android设备时,连接我们要求输入代码,然后它将连接。但在这里我可以显示设备列表,当我调用connect方法时,它会直接显示我连接的方式。是iOS的这种行为还是我错了。 –

+0

正如我所说,在iOS上,如果BLE外设不需要加密,那么连接就不需要配对(实际上是绑定),连接就会继续。 – Paulw11

是有可能向BLE设备询问对ios的配对请求。

我按照以下步骤制作ios应用程序以请求配对。

  1. 编辑我的应用程序以使用gatt写入响应函数返回错误代码'RBLE_ATT_ERR_INSUFF_AUTHEN'。
  2. 试图从ios应用程序写入,然后我得到一个提示输入配对密钥。
  3. 使用由BLE设备随机生成的配对密钥进行配对。

Paulw11的评论还帮我解决这个问题,

问候 巴拉斯GK