繁体   English   中英

外围BLE设备的唯一标识符

[英]Unique identifier for peripheral BLE device

所以我有外围BLE设备,我需要一些标识符,以便以后与另一个iPhone共享。 示例I将iPhone “A”连接到外围设备。 iPhone '将外围设备的标识符保存到数据库中,以后我可以轻松地将iPhone “B”连接到该标识符找到的外围设备。

现在有UUID对每个iPhone-peripheral连接有什么变化,但MAC Address不可用。 你有什么建议吗?

我有一个类似的问题,很多像这样的线程说你不能通过CoreBluetooth获取MAC地址。 我想连接到BLE外围设备(我的意思是开放和可连接的外围设备)并在数据库上存储一些信息,以便不同的iPhone可以读取相同的数据库,并在连接到同一种BLE外设时使用这些信息。 现在我依赖于设备名称,如下所示:

-(void)addDiscoveredDevice:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
    NSString * name = [peripheral name];
}

因为NSString * uuid = [[peripheral identifier] UUIDString]; 在不同的iOS设备上给我不同的结果。

因此,假设我的第一个问题是要知道我的iPhone附近有多少Apple Watch,第二个问题是要知道给定的Apple Watch(例如John的Apple Watch)是否接近我的iPhone。 不幸的是,这种方法不起作用,因为用户(例如John)或公司可以更改其外围设备的名称。

是的我可以依赖名称+服务uuid​​ +特征uuid的组合,但出于同样的原因,如果名称更改它是无用的。 有没有人找到解决方案?

如果您不自己制造外围设备,则无法在不同的iOS设备上唯一识别外围设备。 这正是Apple想要的,因为这意味着开发人员无法根据设备地址跟踪用户的位置或移动模式。 这将是一个隐私问题。

如果你自己制造外围设备,那么你可以做任何你想做的事情。 例如:使用自定义服务uuid​​,将uuid添加到广告中的制造商数据,设置唯一的广告名称等等。但如果所有这一切的核心目的是跟踪您的用户,那么我猜猜Apple可能会否认您的提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM