我想知道用户是否已将其设备设置为在 iPhone 的 Settings.app 中自动设置日期和时间。我需要这些信息,因为我想让用户只能在一天内访问应用程序中的某些信息,而他只能在第二天再次访问这些信息。但聪明的用户可以更改日期并访问信息。所以我想检查他们是否自动为设备设置日期/时间。
有什么办法可以做到这一点吗?如果存在,请建议任何其他替代方式。 提前致谢。
最佳答案
我不认为存在一种方法可以检测用户关于自动更新日期时间设置的偏好。要确定从给定点开始的时间长度,您有几个选项,但没有一个是绝对的或没有任何错误的。
- 使用 NSDate,您已经知道可以通过手动更改设备上的日期来规避该问题。
- 使用时间服务器。通过查询时间服务器,您可以获得独立的日期时间值。存储该值并与其进行比较以确定是否已经过了正确的时间。当然,缺点是这需要互联网连接才能使用属性。
- 使用系统时钟值或一系列值来粗略计算耗时。
CACurrentMediaTime
或mach_absolute_time()
等函数可以提供用于比较的计数。您可以获取这些值并递增它们,直到达到指定的持续时间,以便为第二天的检查重置标志。
单独使用这些选项都无法提供理想的解决方案,但通过组合这些方法,您可以达到可接受的保证水平,即用户仅在允许的时间内访问信息。
关于ios - 从 iPhone 应用程序了解设备中的日期和时间设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16359978/