寻找iOS设备附近

时间:2011-12-07 23:44:42

标签: iphone ios ipad ios5 bluetooth

我想知道是否可以在iOS设备之间使用信号强度来确定更接近的内容并以这种方式列出它们? 通过信号强度,我们正在寻找蓝牙,无线或蜂窝电话。基本上,最终目标是向用户提供最近的3个设备。 可能吗?如果是的话,有人可以指出我使用哪种技术与一些参考/文档链接的正确方向(如果有的话)。

提前致谢

2 个答案:

答案 0 :(得分:4)

GameKit框架提供通过蓝牙与附近的iOS设备进行通信的功能。不幸的是,调解设备之间连接的GKSession类不会暴露与信号强度相关的任何属性。如果此功能有用,我建议向Apple提交错误报告,请求此功能。

GameKit Programming Guide - Peer to Peer Connections

答案 1 :(得分:0)

您可以使用通信延迟来确定哪些设备最接近。

向其他设备发送消息,记录响应所花费的毫秒数(纳秒?)。最快的响应将是最接近的设备。

几乎所有通信协议都以(近似)光速传播。因此,您可以将通过光速获得通信响应所需的时间量除以计算距离。

由于纠错算法产生的性能开销并不完全准确,但是如果您多次执行此测量并计算平均延迟,那么它对于您想要在此处执行的操作就足够准确(重复测试的次数越多) ,它会更准确)。

请注意,如果您的通信是通过其他设备(例如手机信号塔或wifi接入点)进行的,那么您计算的是该接入点与每台设备之间的距离,而不是设备与其他设备之间的距离。牢记这一点,您可能只能使用蓝牙或wifi等协议而不是iOS内置的个人热点功能。

编辑:另一种可能性是在一台设备上播放声音,并在其他设备上听同样的声音。声速比光速慢得多,所以效果会更好。我不确定iPhone的麦克风有多好。