簡體   English   中英

有沒有替代ios-ntp來獲取原子/當前時間ios的方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM