我需要在当前的项目中设置用户证明时间。我围绕这个问题发现了很多不同的问题,但似乎没有一个问题有我正在寻找的答案。这些是我到目前为止看过的问题:
XCODE:如何从设备获取/验证准确的时间戳 https://stackoverflow.com/questions/10634852/xcode-how-to-get-verify-accurate-timestamp-from-device
是否可以从 iPhone GPS 获取原子钟时间戳? https://stackoverflow.com/questions/1444456/is-it-possible-to-get-the-atomic-clock-timestamp-from-the-iphone-gps
如何获取 iPhone 中的实时时间,而不是用户在“设置”中设置的时间? https://stackoverflow.com/questions/1443350/how-can-i-get-the-real-time-in-iphone-not-the-time-set-by-user-in-settings
我有几种从服务器连接获取时间的选项,但我也需要一个离线解决方案。
1.
看来使用 CLLocation 获得的时间与设备时钟相同。有没有办法获取实际的 GPS 时间?
2.
我知道系统时间设置不是公共 API,因此无法更改。是否可以查明设备是否打开了自动时间设置?如果自动时间打开,那么我可以依靠系统时间来达到我的目的,如果它关闭,那么记录下来,这样我就知道记录的时间不可信?
只是想发布我的解决方案,以防其他人遇到同样的问题。
经过大量研究,我发现获取 GPS 时间设置信息是不可能的。
这个解决方案并不完美,也不实时,但适合我的目的。
每次应用程序上线时,我都会使用云时间进行时间检查。当设备重新建立服务器连接以同步离线创建的事件时,我进行了验证,该验证采用最后一个对象设备时间和新对象设备时间并计算两者之间经过的时间。 (使用 NSdates 以便涵盖夏令时)然后对最后一个可用服务器时间和最近的服务器时间执行相同的操作。然后我比较结果,如果它们不在我的误差范围内,则事件将被标记为无效。
希望这是有道理的并且对其他人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)