在 iOS 上扫描蓝牙 2.1(旧版)设备

Posted

技术标签:

【中文标题】在 iOS 上扫描蓝牙 2.1(旧版)设备【英文标题】:Scanning for Bluetooth 2.1 (legacy) devices on iOS 【发布时间】:2016-10-28 20:34:46 【问题描述】:

我一直在寻找一种解决方案来扫描附近的广告蓝牙设备。

我的概念应用程序使用蓝牙来标记学生的上课情况。该应用程序已在 android 上实现并处于测试阶段,得到了大学(我的学生)的支持。

问题出现在 ios 平台上。我一直无法找到允许我扫描旧蓝牙设备(蓝牙 2.1)的库。 CoreBluetooth 库只能扫描 BLE 设备,这恰好排除了该类的相当大一部分。最初显示出希望的另一个库是 ExternalAccessory 框架,但令我非常失望的是,我发现它不会使任何蓝牙扫描功能对应用程序透明。

所以这是我的问题..

是否有任何可能的解决方案让我在 iOS 上扫描广告旧蓝牙设备(不必与所述设备配对)?

【问题讨论】:

【参考方案1】:

很遗憾,应用无法扫描 iOS 上的旧版蓝牙设备。

即使可以,iOS 也会随机分配它向非配对设备通告的蓝牙 MAC 地址,以防止像您尝试那样进行设备扫描。

【讨论】:

感谢您的回复。扫描蓝牙设备会变得如此困难,甚至是不可能的,这似乎有点令人失望(至少如果我希望我的应用程序在应用程序商店上发布)。我可能正在寻找实现类似功能的硬件解决方案。另外,虽然我的印象是 iOS 随机化了蓝牙 mac 地址,但在实践中我发现事实并非如此。

以上是关于在 iOS 上扫描蓝牙 2.1(旧版)设备的主要内容,如果未能解决你的问题,请参考以下文章

如何使用核心蓝牙 sdk 扫描蓝牙设备?

IOS 蓝牙 LE 扫描设备未添加到 uitableview

Swift:为啥我的 iOS 不能扫描其他蓝牙设备

如何在 iOS 中使用 iphone 5 连接到支持蓝牙 2.1 的设备

使用 iOS 应用程序连接蓝牙® 2.1 + EDR 2 类设备

如何在 iOS 上搜索和连接附近的经典蓝牙设备(非 BLE)?