2016-11-11 35 views
0

我在Swift上有一個iOS應用程序,涉及通過Game Center發現的一小部分玩家,總共說4個。一名球員是領導者,他們必須知道每名球員是否在附近,比如在10米以內,但這是靈活的。理想情況下,四個人都不需要讓他們的應用程序在前臺運行,並且任何玩家都可以隨時隨地訪問,但是如果有人在附近,我很快就會知道這一點。如何判斷玩家身體是否在附近?

所以,問題是,什麼是一個很好的技術,以確定如果一個球員是在附近嗎?我可以考慮像位置管理器區域,藍牙連接等一些可能性,但似乎很棘手。有任何想法嗎?

回答

0

我做了一些有關此研究對於類似的應用程序在幾年前。

使用位置管理器來傳輸和服務器似乎是最簡單的選項,但它也有缺點嚴重數比較球員的座標:

  • 使用iOS設備的GPS和網絡功能消耗大量的電池電量。因此,不斷調查和傳輸用戶的位置是非常低效的。
  • 出於保護隱私的原因,蘋果是很懷疑,需要不斷跟蹤用戶的位置,即使應用程序被關閉的應用程序。你需要做一個好例子,否則你可能會被拒絕。
  • 再次,對於隱私的原因,傳輸用戶的位置是有風險的,所以你會希望你有很好的網絡安全。
  • 某些iOS設備和環境的GPS功能可能不準確。要求10米半徑可能太小。

出於這個原因,我建議你探索你希望實現遊戲的構思是通過Apple's iBeacon technology可行的。 iBeacons是點對點的,並且在近距離範圍內精確得多,這聽起來就像是你之後的事情。 :)

+0

一點閱讀後,我看到一個iPhone應用程序可以是iBeacon顯示變送器本身,以前我以爲信標必須是一個獨立的裝置。因此,該應用程序正在運行的領導者可以成爲喚醒附近其他玩家並啓動應用程序的燈塔。這可能適用於我,謝謝.. – lepton

+0

是的! iOS設備本身可以成爲iBeacon主機。如果你想在某個地方放置一個永久性熱點,專用硬件就是這樣。涼!很高興我能幫上忙!如果是這樣,你能否把標記標記爲接受? :) – TiM