2013-01-04 53 views
0

改變可能重複:
How can I locally detect iPhone clock advancement by a user between app runs?如何檢查設備時鐘時間已經在iPhone

有沒有什麼辦法來檢查設備時鐘時間已經手動修改。像NSSystemClockDidChangeNotification但是,這項工作只有當我的應用程序正在工作。我們可以在應用程序不工作時檢測到這一點。

+0

不,你不能檢測到這個變化據我所知,但也許你可以做到這一點,當你的應用程序從背景恢復? – borrrden

+0

但如果有人更改設備時間並執行一些操作,那麼我們如何記錄該事件的實際發生時間。 –

+0

爲什麼你需要記錄他們的行爲?這聽起來像惡意軟件。 – borrrden

回答

1

您可以比較本地時間與時間服務器並存儲差異。然後,在下一次運行中,再次執行並查看差異是否發生了變化。不過,你需要連接到互聯網。如果你沒有互聯網連接,你可以存儲你的本地時間,並在每次運行中檢查它。然後,您將能夠檢查當地時間是否已經逆轉。你將無法檢查它是否向前移動。

+0

他在設備時間更改時執行某些事件時,但在同步或與服務器通信時,假設他更正設備時間。 –

+0

如果沒有互聯網連接,則無法進行驗證。所以,除非有活躍的互聯網連接,否則你不得不禁止這種行爲。 Apple沒有驗證時間的硬件。更多信息在這個答案:http://stackoverflow.com/questions/9868491/ios-real-time-for-specific-timezone-while-offline – borrrden

1

您可以在終止應用程序並檢查啓動之前節省時間。如果有人試圖欺騙你的應用程序,可能他只會在有限的時間內(暫時)設置自己的時鐘。所以你可以檢查時間是否回來。

除非您更改時區,否則時間永遠不會回來。所以我會在將用戶指責爲騙子之前小心謹慎。他可能改變了他的時區。

相關問題