似乎将 OSX 升级到 10.11.5 可能会导致 AdvertisementData 的 ManufacturerData 字段在报告到时丢失centralManager: didDiscoverPeripheral: advertisementData: RSSI:
。
如果设备在扫描时打开,它往往会存在,但如果设备在扫描开始时已经在广告,则不太可能存在。
编辑,更多细节:
我在 CBCentralManagerDelegate 回调中看到的是,如果应用程序在外围设备已打开(因此广告)一段时间后启动centralManager: didDiscoverPeripheral: etc
,则传递给该方法的字典总是缺少密钥。kCBAdvDataManufacturerData
如果在应用程序启动后打开外围设备,则该键偶尔会出现大约 1/3 的时间,持续大约 30 秒,然后永远消失。(永远 = 至少 6 分钟)
有任何想法吗 ?