我需要将配对的蓝牙设备(iOS设备)列表与iOS设置中"蓝牙"部分的列表相同,如下图所示.
可能吗?
您是否看过任何使用此类功能的应用程序?
我尝试了以下:
link1,link2,link3,link4,link5,link6
但没有什么能帮我清楚地得到确切的清单.我希望应该有办法实现这一目标.请分享您的经验,帮助我.谢谢.
无法从iOS检索配对的外围设备列表。都无法检查特定的外围设备是否配对。
检索已配对的外围设备您需要考虑两种情况:
系统中可能已经连接了外围设备(iOS会自动与某些外围设备连接,以便显示电池电量)。在这种情况下,外围设备将无法广播,使用进行检测scanForPeripherals
也将无法进行。
外围设备已配对但已断开连接。在这种情况下retrieveConnectedPeripherals(withServices:)
将不起作用。
因此,要检索外围设备,您需要将两者结合起来。首先,您需要检查它是否在从返回的外围设备中retrieveConnectedPeripherals(withServices:)
。如果没有,你应该scanForPeripherals
。
如果要检索超出范围的外围设备,可以尝试使用retrievePeripherals(withIdentifiers:)
,但是它也可能返回未配对的设备,并且它依赖于UUID
配对后必须保存的外围设备。
有一种检测特定外围设备是否配对的方法。您需要尝试读取受保护的特征(这需要加密-绑定)。如果收到预期的数据,则表示用户接受了配对请求。否则,您将收到空响应或无响应。
参考文献您可以在我的文章中阅读有关蓝牙的更多信息:
原始答案
Swift –使用流量控制器的蓝牙低能耗通信
如何在iOS上与低功耗蓝牙设备通信
低功耗蓝牙– iOS上的后台模式