簡體   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