iOS 蓝牙设置(我的设备)下是不是仍不显示低功耗蓝牙设备?

Posted

技术标签:

【中文标题】iOS 蓝牙设置(我的设备)下是不是仍不显示低功耗蓝牙设备?【英文标题】:Does Bluetooth Low Energy devices still not show under iOS Bluetooth settings (My Devices)?iOS 蓝牙设置(我的设备)下是否仍不显示低功耗蓝牙设备? 【发布时间】:2017-08-09 18:42:09 【问题描述】:

我正在尝试建立一个爱好项目,我想知道 - 如果我的设备使用蓝牙低功耗模块,此设备会显示在 ios 设置下的蓝牙设备列表下吗?还是我的应用程序必须在连接之前专门搜索此设备?如果设置中没有显示,我需要什么类型的蓝牙模块?

【问题讨论】:

【参考方案1】:

不,您不会在 iOS 设置下看到您的 LE 设备。 请参阅LE best practices - 您的应用应搜索 LE 设备。

您只能在该设置中看到 BT 经典设备。但是,只有少数协议可以在没有所需 MFi 芯片的情况下使用,这超出了您的 Hobby 项目的范围。


在 iOS 端为您的应用使用 CoreBluetooth。


在下面的评论中根据@Brejuro 请求更新:

MFi 协处理器必须在您的自定义硬件中,它希望使用为经典蓝牙(而非 LE)定义的大多数配置文件/协议进行通信,例如纯 RFCOMM。协处理器用于初始身份验证 - 然后,iOS 知道您的自定义硬件已通过认证并允许使用它。

但是,Apple 会向您索要大笔资金,并且您的设备需要通过 Apple 认证 - 这就是为什么我告诉您这超出了任何业余项目的范围。您还需要签署非常严格的 NDA。但是,您将获得描述许多细节的非常好的文档。

【讨论】:

谢谢!您能否详细说明所需的 MFi 芯片? @Brejuro - 我根据您的要求更新了我的原始答案。【参考方案2】:

iOS 设置应用程序中的内置蓝牙面板实际上是两个不同事物的合并:

已知(已配对)设备的列表,无论它们使用何种配置文件(以便您在中心位置取消配对), 一种用于发现附近要配对的设备的工具。

未配对的设备只有在实际实施至少一个 iOS 核心蓝牙服务识别的配置文件时才会显示在发现列表中。其他设备被屏蔽(用户无论如何都无法对它们做任何有用的事情)。

如果您的爱好项目是做一些与内置支持的设备相关的事情,例如 HID(键盘、鼠标、遥控器等),您实际上会在从“设置”应用中发现它们时看到它们。

如果您使用自定义服务创建设备,并使用您自己的服务类型 UUID,它不会显示在内置面板中,您的应用将不得不寻找它进行配对。配对后,设备将显示在设置中。

除了核心服务之外,你也可以制作兼容设备而不是 MFi。例如,通过 BLE 配置文件的 MIDI 可以被garageband 和其他音乐应用透明地识别。

使用 BLE 而不是 BR/EDR,只有非常特定的配置文件需要身份验证芯片,例如 HomeKit。

【讨论】:

以上是关于iOS 蓝牙设置(我的设备)下是不是仍不显示低功耗蓝牙设备?的主要内容,如果未能解决你的问题,请参考以下文章

iOS中待机模式下的蓝牙低功耗?

iOS蓝牙(BLE4.0低功耗)详细渗透讲解

缓存低功耗蓝牙?如何解决它

混合APP低功耗蓝牙项目解析数据可能用到的一些小方法---ble

Android 低功耗蓝牙 - 如何访问之前配对的设备?

bluetoothctl 不显示蓝牙低功耗 (BLE) 设备