假设我有2部或以上的iPhone,每部iPhone的4s或更高版本,并且启用了蓝牙4.0。
是否可以将每部电话变成一个iBeacon,其他每部电话都可以从该电话接收更新,并计算从其自身到此电话的距离(发送其位置)。
原因是,我希望能够精确定位,也许在5m以内。因此,如果两部(或更多)手机彼此之间的GPS最小精度(〜17m?)内,它们将切换到iBeacon模式。
有什么想法吗?
最佳答案
从理论上讲这是可能的,但是存在三个实际挑战:
您必须以某种方式定期唤醒该应用程序,以检查其是否在其他设备的GPS范围内。您可以使用主要的位置更改回调,但这通常仅在2000米或以上的位置更改中提供。因此,您可能需要完整的位置背景模式才能定期进行更新。除非您要制作专用的导航应用程序,否则请求位置背景模式可能会使进入AppStore更加困难。
一旦确定该用户位于其他用户周围的粗略位置,就必须让该用户将应用程序置于前台。这是因为信标传输只能在前台进行。
您必须接受由于无线电信号波动和噪声导致信标测距不是非常准确的方法。在2米的距离处,您可能会获得+/- 1米的估计值。在较大的距离(例如20米)处,方差要大得多,例如+/- 10米。
您必须确定您的用例是否可以满足上述限制。
关于ios - 使用蓝牙计算两个或更多iPhone之间的距离,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26560939/