我需要在当前项目中设置用户验证时间。我在这方面发现了很多不同的问题,但是似乎没有一个我要找的答案。到目前为止,我已经研究了以下问题:

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以便节省夏令时),然后对最后一个可用服务器时间和最近服务器时间进行相同操作。然后,我比较结果,如果结果不在我的误差范围内,则将事件标记为无效。

希望这对其他人有帮助。

10-07 19:49
查看更多