如何使用其他方法识别通过蓝牙扫描的设备

时间:2014-03-19 10:13:10

标签: ios iphone bluetooth bluetooth-lowenergy core-bluetooth

这不是任何问题的重复。

我正在创建一个应用程序,该应用程序使用蓝牙来查找使用我附近的应用程序的其他用户。 有了android,它可以。但是如果我使用iOS,那是不可能的,因为我已经在stackoverflow中读到了这里,它不可能通过蓝牙扫描识别一个设备是唯一的,(如果它存在,请让它我知道!!!!)但是让我举一个例子来说明我在寻找:

如果在我的应用程序中注册了两个不同的人(分别是Robin1和Robin2)并且他们的蓝牙中有相同的名称(例如" Robin' iphone"),有一种方法可以在我的应用程序中告诉我第一个"罗宾的iphone"是" Robin1" (他在我的应用程序中的昵称)和第二个"罗宾的iphone"是"罗宾2"? 我唯一需要的是蓝牙扫描'因为我的应用程序是基于真正靠近你的用户而且GPS不准确......还没有。

我希望这个例子写得很好:/

谢谢

1 个答案:

答案 0 :(得分:3)

在bluetooth-dev邮件列表和许多Stack Overflow问题中已经广泛讨论了识别设备的策略。例如,请查看此讨论:http://lists.apple.com/archives/bluetooth-dev/2013/Nov/msg00071.html

为简单起见,这里有两个选项:

  1. startAdvertising:调用中设置要由CBAdvertisementDataLocalNameKey公布的用户名。但是,这是一个非常脆弱的解决方案。
  2. 更强大的是连接到发现的外围设备并读取应用程序包含的特征以显示用户标识符。
  3. 请注意,您不能依赖CBPeripheral.identifier进行识别,因为它会在发现外围设备的每台设备上成为不同的随机值。另请注意,如果您计划使用后台运行,那么当应用程序转到后台时,需要特别小心,因为有很多限制。