是否有替代ios-ntp来获得primefaces/当前时间ios?

在我的应用程序中,我希望获得准确的日期和时间,基本上,在我的应用程序中,将会有一个时间敏感部分,用户在一段时间后才能启动。

但是,如果我从设备中获取日期和时间,用户可以轻松更改设备上的日期和时间, Settings > General > Time & Date在此处更改。

我也尝试过GPS定位时间戳,但没有运气, [CLLocation timeStamp]也给设备时间,

我搜索了所有说使用ios-ntp ,但它不是当用户没有互联网连接,

我参考了以下StackOverflow问题:

  • 在iPhone上准确的时间
  • 适用于iPhone的网络时间协议
  • 有没有办法在iPhone上获得防篡改日期和时间?
  • 从iPhone中的运营商检索当前时间
  • 适用于iOS应用的基于时间的同步

但没有得到我想要的结果,

还有其他方法可以获得准确/实际的时间吗?

注意: ios必须将当前日期存储在某些位置,因为当我从设置更改当前系统日期,并再次设置为Settings > General > Time & Date > set automatically > ON时它将设置当前的准确日期,因此我们可以得到约会? 或者一些技巧?

示例:

假设现在设备中的时间是2014-01-01 15:04:57 +0000 (现在在设置>常规>时间和日期>自动设置> ON时自动设置为ON,现在
用户设置set automatically > OFF并将当前2014-03-02 11:14:32 +0000更改为2014-03-02 11:14:32 +0000

所以在app中我写NSLog(@"cdate: %@",[NSDate date]); 它会打印出来

cdate: 2014-03-02 11:14:32 +0000但我想要的是打印当前的实际

日期是2014-01-01 15:04:57 +0000

你意识到你在问不可能吗? 如果您需要花时间并且没有网络连接,那么唯一可以获得时间的地方就是设备。 要么您信任设备时间,要么从NTP获得时间。 没有其他选择。

你如何处理这取决于你需要花时间的确切原因。 如果你的应用程序中有一些function绝对不能在特定日期之前启用,我会从外部服务器获取时间,如果certificate是在上述日期之后,请在默认设置中设置一个标记,表示您已经过validation允许使用日期和function,因此您之后不需要网络连接。 如果没有网络连接,则不设置标志,但可能会发出一条消息,表示您需要连接到Internet以启用新function。

如果它只是游戏的某些部分,请使用设备时间并让他们在需要时作弊。