[英]Is there an alternative to ios-ntp to get atomic/ current time ios?
在我的應用程序中,我想獲取准確的日期和時間,基本上,在我的應用程序中,將有一個對時間敏感的部分,用戶只有在一定時間后才能啟動。
但是,如果我從設備上獲取日期和時間,則用戶可以輕松地在其設備上更改日期和時間,可以在Settings > General > Time & Date
更改。
我也嘗試過使用GPS位置時間戳記,但是沒有運氣, [CLLocation timeStamp]
也是給設備時間,
我已經搜索了所有使用ios-ntp的用戶 ,但不是在用戶沒有互聯網連接時,
我已經提到了以下StackOverflow問題:
但沒有得到我想要的結果,
還有其他獲取准確/實際時間的方法嗎?
注意: iOS必須將currentdate存儲在某些地方,因為當我從settings更改當前系統日期時,再次設置為Settings > General > Time & Date > set automatically > ON
它將設置當前准確的日期,因此我們可以得到該日期日期?? 還是一些把戲?
范例:
假設現在在設備中,時間為2014-01-01 15:04:57 +0000
(現在在“設置”>“常規”>“時間和日期”>“自動設置”>“ 開啟”中自動設置為“開 ”),現在
用戶設置set automatically > OFF
並將當前2014-03-02 11:14:32 +0000
更改為2014-03-02 11:14:32 +0000
因此,當我在應用程序中,我寫NSLog(@"cdate: %@",[NSDate date]);
它將打印
cdate: 2014-03-02 11:14:32 +0000
但我要打印的是當前實際
日期是2014-01-01 15:04:57 +0000
你知道你在問不可能嗎? 如果您需要時間並且沒有網絡連接,那么唯一可以獲取時間的地方就是設備。 您可以信任設備時間,也可以從NTP獲取時間。 沒有其他選擇。
您如何處理此問題取決於您為什么需要抽出時間。 如果您的應用程序中的某些功能絕對不能在某個日期之前啟用,那么我會從外部服務器獲取時間,並且如果證明該時間在該日期之后,請在默認設置中設置一個標志,表示您已通過驗證日期和功能允許使用,因此此后您不需要網絡連接。 如果不存在網絡連接,則無需設置標志,而是發出一條消息,說您需要連接到Internet才能啟用新功能。
如果只是游戲的一部分,請利用設備時間,讓他們作弊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.