每个 iOS 设备上的 NSDate 是否同步?

Is the NSDate on every iOS device synchronized?

目前我正在编写一个应用程序,需要每个 iOS 设备都具有某种同步时间才能正常运行。我知道我可以使用 NSDate 获取当前时间,但我不确定是否所有 iOS 设备(无论它具有什么位置设置,或者用户手动设置时间)是否都具有相同的 NSDate。同步时间必须足够准确(< 10ms 最大差异)。我可以直接使用 NSDate 吗?

but I'm not sure if all iOS devices (no matter what location setting it has, or maybe user sets the time manually) will have same NSDate.

显然他们不会,因为有些人手动设置时间,所以可能会相差很远。

不,您不能依赖 NSDate 为您提供此信息。

您可以使用实时服务器来提供此信息。 Check,或许对你有帮助。

还要检查 NTP 协议,您可以轻松地使用 this github project 从受信任的时间服务器获取当前时间,whiteout 依赖于设备。

设置 -> 通用 -> 日期和时间 -> 关闭 "Automatically" -> 将时间设置为您想要的任何时间。很明显,您所要求的是不可能的。

如果你想要同步,那么你可以在多个设备之间做到这一点的唯一方法是使用一个中央服务器来保持时间,并且每个人都在你的代码中使用该服务器报告的时间。