ios - 如何判断游戏玩家是否在附近?

标签 ios swift bluetooth location

我有一个使用 Swift 编写的 iOS 应用程序,其中涉及通过 Game Center 找到的一小群玩家,总共有 4 个玩家。一名玩家是领导者,他们必须知道每个玩家是否在附近,比如在 10 米之内,但这很灵活。理想情况下,这四个人都不需要在前台运行他们的应用程序,并且任何玩家都可以随时随地,但我想很快知道是否有人在附近。

所以问题是,确定玩家是否在附近的好方法是什么?我可以想到一些可能性,例如位置管理器区域、蓝牙连接等,但这似乎很棘手。有什么想法吗?

最佳答案

几年前,我对一个类似的应用程序进行了一些研究。

使用位置管理器在服务器上传输和比较玩家坐标似乎是最简单的选择,但它有很多缺点:

  • 使用 iOS 设备的 GPS 和网络功能会消耗大量电池电量。因此不断轮询和传输用户位置的效率非常低。
  • 出于隐私原因,Apple 对于需要持续跟踪用户位置(即使应用已关闭)的应用持非常怀疑的态度。您需要提出充分的理由,否则您可能会被拒绝。
  • 再次强调,出于隐私原因,传输用户位置存在风险,因此您希望拥有非常好的网络安全性。
  • 在某些 iOS 设备和环境下,GPS 功能可能不准确。要求 10 米半径可能太小。

因此,我建议您通过 Apple's iBeacon technology 探索您想要实现的游戏创意是否可行。 。 iBeacons 是点对点的,并且在近距离时更加准确,这听起来像是您所追求的。 :)

关于ios - 如何判断游戏玩家是否在附近?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40555945/

相关文章:

android - 哪些 Android 版本支持 SPP 类 0x00?

iphone - 蓝牙警告 Xcode?

android - 为什么应用程序使用推送通知而不是 VPN(虚拟专用网络)?

android - 如何在移动设备上获取可靠的内存信息?

ios - 最佳实践 : Using Size Classes for Single table view to dual table view

ios - 分页 UIScrollView "Prototype Pages"

ios - 如何使用 PromiseKit 处理仅 header 响应?

iphone - 如何在 iPhone 的 View 顶部显示弹出窗口

swift - 快速枚举中关联值和原始值之间的区别

ios - iOS 应用程序可以通过 WiFi 与 MFi 配件通信吗?