2016-02-19 63 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

相关问题