我正在开发一个系统,它将 BLE 设备(TI CC2540)作为中央设备,将 iPhone4S 上的 iOS 应用程序作为外围设备。除了我需要的 1 个功能外,一切正常:来自中央的白名单(过滤)广告设备。
据我所知,iOS设备使用随机可解析MAC地址,所以我们不能应用基于MAC地址的白名单。
所以我目前的方法是:在iOS应用程序的广告数据(iOS设备充当外围设备)的“本地名称”字段上放置一个ID,中央设备将根据检索到的广告数据进行扫描和过滤。除非应用程序在后台,否则此方法有效。
当我的应用程序置于后台时,广告数据会被截断,并且我的“本地名称”不会通过无线方式出现。从corebluetooth的头文件中,我看到只有“溢出区域”数据可以在应用程序在后台时的广告数据中,但只有iOS设备可以读取这个区域。
那么这里的任何人都可以告诉我如何在后台模式下将自定义数据添加到广告包中,或者任何其他具有此过滤功能的解决方案。
任何评论都会对我有很大帮助。