2016-02-19 26 views
0

目前我正在寫一個應用程序,需要每一個iOS設備有某種同步的時間才能正常工作。我知道我可以使用NSDate獲取當前時間,但我不確定是否所有iOS設備(無論設置了哪個位置,或者用戶是否手動設置時間)都具有相同的NSDate。同步時間必須足夠準確(最大值爲012毫秒,差值爲10毫秒)。我可以直接使用NSDate嗎?每個iOS設備上的NSDate是否同步?

回答

2

不,你不能依靠的NSDate給你這個信息。

您可以使用實時服務器提供這些信息。 Check,它可能會幫助你。

檢查一下關於NTP協議,你可以很容易的使用this github project從一個值得信賴的時間服務器獲取當前時間,whiteout依賴於設備。

+0

有人告訴我iOS有一個,它叫做mtp,我找不到任何信息。你知道它是什麼嗎? – g10000

+0

你在說NTP嗎?它的時間協議(蘋果有一個服務器..),有一些像這樣的https://github.com/jbenet/ios-ntp在github中的實現,但基本上,它要求一個可信的服務器,「什麼時候是它?」。 – UlyssesR

+0

編輯答案將其放置更多信息。 – UlyssesR

1

但我不確定是否所有iOS設備(無論設置了什麼位置,或者可能是用戶手動設置時間)都將具有相同的NSDate。

顯然,他們不會,因爲有些人會手動設置時間,所以它可能是相當遙遠。

+0

有人告訴我的iOS有一個,它被稱爲MTP,我找不到任何信息。你知道它是什麼嗎? – g10000

0

設置 - >通用 - >日期&時間 - >關閉「自動」 - >設置爲任何你想要的時間。很明顯,你所要求的是不可能的。

如果你想同步,那麼你可以之間的多個設備做到這一點的唯一方法是與保持時間的中心服務器,並且每個人都使用由服務器報告的時間,在你的代碼。

+0

所以iOS本身沒有同步時鐘?有人告訴我iOS有一個,它叫做mtp,我找不到任何信息 – g10000

相關問題