2012-01-17 38 views
3

我需要針對基於位置的iPhone應用程序提供一些建議。關於在iPhone背景下確定近距離位置的建議

我正在構建一個通知用戶附近位置的應用程序。當應用處於前臺時,它將使用正常的didUpdateToLocation:fromLocation:方法(計算用戶和感興趣的地點之間的距離),但是當它位於後臺時,我不確定最佳方式是什麼。

我正在考慮在應用程序轉到背景前從所有感興趣的地方創建CLRegions。如果用戶輸入地區,應用程序將執行本地通知並通知用戶所關注的地點。

或者我可以註冊CL重大更新,用戶和所有地點之間的計算距離,並通知任何接近的地方。也許不是最好的解決方案,操作系統可能沒有足夠的時間來計算密切的地方?

有沒有人有同樣的經驗?有什麼建議?

+0

我不與iPhone的合作,但是從設計的角度來看,我會說,當設備處於後臺,你應該儘可能uninvasive。您只應警告關心最高優先級的地點,最好只在小範圍內。根據你在做什麼,你或許可以利用某種審查或人口普查系統來確定哪些是最重要或最受歡迎的地點。 – Polynomial 2012-01-17 07:04:51

+0

感謝您輸入@Polynomial,在我解決了這個問題之後,確實值得關注:) – bennythemink 2012-01-17 07:08:34

回答

0

我認爲你應該註冊重要的位置更新(細胞變化事件),然後對事件進行數學計算。你可以根據這個事件做任何事情。根據我的經驗,區域監控還取決於單元變更事件以及一些您不需要的額外計算。

但是,您需要啓用後臺位置更新。您需要說服蘋果公司確認您的應用需要此背景位置服務。正如Apple文檔所說,後臺位置服務僅適用於提供逐行導航的應用程序。

如何啓用後臺位置更新 Understanding background tracking of user's location in iOS