use*_*361 4 ios core-bluetooth cbperipheral cbcentralmanager ibeacon
我遇到了关于CoreBluetooth Framework的问题.
例如,我有两个设备,每个设备同时执行广告和扫描.所以,我在每个上都使用CBCentralManager和CBPeripheralManager.
因此,为了简化问题,我们假设Device1正在广播和Device2扫描.
当Device2上的CBCentralManager发现Device1时,回调centralManager:didDiscoverPeripheral:advertisementData:RSSI:被调用,我可以通过调用[peripheral.identifier UUIDString]来获取Device1标识符.
那我怎么能得到我的本地设备(Device2)标识符?我的意思是,如果两个设备都是广告,Device1也会发现Device2并获取它的外围设备标识符,但我怎样才能在Device2上获得这个标识符(某种自身地址)?
PS我知道这个标识符对于每个设备都不是唯一的,并且可以随时间变化,这不是问题.
不幸的是你不能这样做.返回的标识符[peripheral.identifier UUIDString]由iOS在接收设备上自动生成.它由发射器Mac地址(不会改变)和iOS开始看到设备的时间(确实发生变化)播种.
由于第二个因素是不可预测的,并且id生成算法未发布的事实,您无法预测此ID将在发送器端.
最重要的是,如果您想要一个可预测的唯一ID,则不能使用此字段
| 归档时间: |
|
| 查看次数: |
4749 次 |
| 最近记录: |