有没有一种方法来确定在iOS上的实际时间和日期(不是设备的时间)(Is there a way to

2019-06-27 03:48发布

在iOS中,我需要知道的实际时间(UTC),而不是设备的时间。 换句话说,它不应该是可能的用户与时间或日期篡改。

任何需要网络连接不好(所以访问时间服务器不是一个选项)。

据我所知,有实现这一目标的2种理论方法:

  • 从GPS卫星信号使用时间戳
  • 从运营商获取当前时间

问题是,这个信息不是由任何的iOS API暴露。

有另一种方式?

Answer 1:

因为他们是根据实际的设备上访问时间时间你可能找到(包括CoreLocation获取GPS数据访问时间信息)大多数解决方案都存在缺陷。 您需要连接到服务器的时间(我建议检查NTP服务器)。 我一直在寻找的核心电话框架,但没有找到任何会提供网络时间。 您可能需要填写bug报告,并要求苹果扩大的一个类,包括时间。



Answer 2:

你可以看看secondsFromGMTForDate:和secondsFromGMT在NSTimeZone。 如果GMT偏移量增大/减小时,该设备的时间改变,这提供了一种方法来纠正你时间戳GMT(也可能转换为UTC)。



Answer 3:

你不能将原始GPS数据,并在CLLocation的timestamp属性locationManager:didUpdateLocations :设置与系统时钟



文章来源: Is there a way to determine the actual time and date in iOS (not the time of the device)