ios – 检查系统时间是自动还是用户设置

我需要在当前项目中设置用户证明时间.我发现了很多不同的问题,但没有一个似乎有我想要的答案.这些是我到目前为止所看到的问题:

XCODE: How to get/verify ACCURATE timestamp from device

Is it possible to get the atomic clock timestamp from the iphone GPS?

How can I get the real time in iPhone, not the time set by user in Settings?

我有几种方法可以从服务器连接中获取时间,但我也需要一个离线解决方案.

1.
似乎使用CLLocation与设备时钟的时间相同.有没有获得实际的GPS时间?

2.
我知道系统时间设置不是公共API,因此无法更改.是否可以确定设备是否已打开自动时间设置?如果自动时间打开,那么我可以依赖系统时间用于我的目的,如果它关闭然后记录,所以我知道记录的时间不值得信任?

最佳答案 只是想发布我的解决方案,因为其他人有同样的问题.

经过大量研究后,我发现无法获得GPS时间设置信息.

这个解决方案不是完美的,也不是实时的,但却符合我的目的.

每次应用程序上线时,我都会使用云时间进行时间检查.当设备重新建立服务器连接以同步离线创建的事件时,我已经进行了验证,该验证采用最后的对象设备时间和新的对象设备时间并计算两者之间的经过时间. (使用NSdates以便涵盖夏令时)然后对上次可用的服务器时间和最近的服务器时间执行相同的操作.然后我比较结果,如果它们不在我的误差范围内,则事件被标记为无效.

希望有意义,对别人有帮助.

点赞