iOS 蓝牙设置(我的设备)下是否仍未显示低功耗蓝牙设备?
Does Bluetooth Low Energy devices still not show under iOS Bluetooth settings (My Devices)?
我正在尝试建立一个业余爱好项目,我想知道 - 如果我的设备使用低功耗蓝牙模块,该设备是否会显示在 iOS 设置下的蓝牙设备列表中?还是我的应用程序必须在连接之前专门搜索此设备?如果它没有显示在设置中,我需要什么类型的蓝牙模块?
不,您不会在 iOS 的设置下看到您的 LE 设备。
请参见 LE best practices - 您的应用应搜索 LE 设备。
您只能在该设置中看到 BT 经典设备。但是,如果没有所需的 MFi 芯片,只能使用少数协议,这超出了您的 Hobby 项目的范围。
为您的应用使用 iOS 端的 CoreBluetooth。
在下面的评论中根据@Brejuro 请求进行更新:
MFi 协处理器需要在您的自定义硬件中,它希望使用为经典蓝牙(非 LE)定义的大部分 profiles/protocols 进行通信,例如纯 RFCOMM。协处理器用于初始身份验证 - 然后,iOS 知道您的自定义硬件已通过认证并允许使用它。
但是,Apple 会向您索要大笔资金,并且您的设备需要通过 Apple 认证 - 这就是为什么我告诉您这超出了任何业余项目的范围。您还需要签署非常严格的 NDA。但是,您将获得描述许多细节的非常非常好的文档。
iOS 设置应用中的内置蓝牙面板实际上是两个不同事物的合并:
- 已知(已配对)设备的列表,无论它们使用什么配置文件(这样您就可以在中心位置取消配对),
- 一种用于发现附近要配对的设备的工具。
只有当未配对的设备实际实施了至少一个被 iOS 的核心蓝牙服务识别的配置文件时,它们才会显示在发现列表中。其他设备被屏蔽(无论如何用户将无法对它们做任何有用的事情)。
如果您的爱好项目是做一些与内置支持设备相关的事情,例如 HID(键盘、鼠标、遥控器等),您实际上会在“设置”应用发现过程中看到它们。
如果您使用自定义服务创建设备,使用您自己的服务类型 UUID,它将不会显示在内置面板中,您的应用程序将不得不寻找它进行配对。配对后,设备将显示在设置中。
除了核心服务,你也可以制作兼容设备而不是MFi。例如,通过 BLE 配置文件的 MIDI 可以被 garageband 和其他音乐应用程序透明地识别。
使用 BLE 而不是 BR/EDR,只有非常特定的配置文件才需要身份验证芯片,例如 HomeKit。
我正在尝试建立一个业余爱好项目,我想知道 - 如果我的设备使用低功耗蓝牙模块,该设备是否会显示在 iOS 设置下的蓝牙设备列表中?还是我的应用程序必须在连接之前专门搜索此设备?如果它没有显示在设置中,我需要什么类型的蓝牙模块?
不,您不会在 iOS 的设置下看到您的 LE 设备。 请参见 LE best practices - 您的应用应搜索 LE 设备。
您只能在该设置中看到 BT 经典设备。但是,如果没有所需的 MFi 芯片,只能使用少数协议,这超出了您的 Hobby 项目的范围。
为您的应用使用 iOS 端的 CoreBluetooth。
在下面的评论中根据@Brejuro 请求进行更新:
MFi 协处理器需要在您的自定义硬件中,它希望使用为经典蓝牙(非 LE)定义的大部分 profiles/protocols 进行通信,例如纯 RFCOMM。协处理器用于初始身份验证 - 然后,iOS 知道您的自定义硬件已通过认证并允许使用它。
但是,Apple 会向您索要大笔资金,并且您的设备需要通过 Apple 认证 - 这就是为什么我告诉您这超出了任何业余项目的范围。您还需要签署非常严格的 NDA。但是,您将获得描述许多细节的非常非常好的文档。
iOS 设置应用中的内置蓝牙面板实际上是两个不同事物的合并:
- 已知(已配对)设备的列表,无论它们使用什么配置文件(这样您就可以在中心位置取消配对),
- 一种用于发现附近要配对的设备的工具。
只有当未配对的设备实际实施了至少一个被 iOS 的核心蓝牙服务识别的配置文件时,它们才会显示在发现列表中。其他设备被屏蔽(无论如何用户将无法对它们做任何有用的事情)。
如果您的爱好项目是做一些与内置支持设备相关的事情,例如 HID(键盘、鼠标、遥控器等),您实际上会在“设置”应用发现过程中看到它们。
如果您使用自定义服务创建设备,使用您自己的服务类型 UUID,它将不会显示在内置面板中,您的应用程序将不得不寻找它进行配对。配对后,设备将显示在设置中。
除了核心服务,你也可以制作兼容设备而不是MFi。例如,通过 BLE 配置文件的 MIDI 可以被 garageband 和其他音乐应用程序透明地识别。
使用 BLE 而不是 BR/EDR,只有非常特定的配置文件才需要身份验证芯片,例如 HomeKit。