2012-03-14 32 views
-3

可能重複:
Internal clock in iPhone background mode在基於位置的應用模式運行的內部時鐘

我正在開發涉及訂票系統的iPhone應用程序。我將我的應用程序註冊爲基於位置的應用程序,因爲它使用的是用戶在後臺爲某個目的所在的位置。

我的問題是我需要在後臺模式下運行我的應用程序中的內部時鐘。我需要在覈心位置代理方法中編寫內部時鐘代碼,以便內部時鐘也可以與位置服務一起運行。我的應用會被拒絕嗎?這樣做有什麼不對嗎?

我需要在我的應用程序中使用正確的時間,以便運行此內部時鐘。我可以使用NSDate,但會返回設備時間。任何人都可以更改設備時間。所以一旦有人被搗亂,錯誤的時間會影響應用程序的順暢運作。請問有些人建議在不使用內部時鐘的情況下獲得正確的時間?

+2

你打算再次問這個問題嗎? http://stackoverflow.com/questions/9564823/internal-clock-in-iphone-background-mode – 2012-03-14 10:19:26

+0

我沒有得到正確的答案或很好的建議...我也在一個很大的麻煩... – Praveen 2012-03-14 11:34:33

回答

1

你不能在後臺模式。

設備知道它是什麼時間是在用戶告訴它(是的,有時間自動更新,但正好可以關閉)

如果你想知道的「實際」音的唯一方式,你將不得不在你的應用程序運行時詢問外部來源(我猜你的服務器)。

但是,您可能能夠通過記錄每次在後臺找到位置的時間戳記來跟蹤時間。然後,當你的應用程序啓動時,你可以比較它們;如果它們看起來很奇怪,則補償時鐘變化。

+0

謝謝爲了理解我的問題...但是在時間戳中尋找奇怪的將是困難的。因爲如果它在我們現在的時間之前,我們很容易找到一個奇怪的時間,但是如果改變的時間在當前時間之後,那將是困難的如果我在bg中運行一個內部時鐘以及基於位置的服務,我的應用會被拒絕嗎?我面對的另一個問題是,如果用戶通過單擊紅色按鈕退出了bg的應用,則此時鐘也將停止。我對麼?你有沒有建議在離線模式下獲得正確的時間? – Praveen 2012-03-14 11:50:41

+0

對不起,你只是希望用戶不要更改時間太多:)如你所說,如果時間改回來,你可以修復它;你只需要希望它不會向前移動:) – deanWombourne 2012-03-14 12:11:03

+0

:(任何選項知道時間是否發生了變化以及它有多少變化...有什麼方法? – Praveen 2012-03-14 12:32:21

相關問題