检查设备日期设置是否在iOS中是自动的

时间:2015-05-29 12:28:09

标签: ios swift

有没有办法检查设备设置是否为"日期和时间"在Swift中设置为自动还是不自动? 如果有,是否可以让用户切换到所需的设置(自动)

2 个答案:

答案 0 :(得分:2)

iOS的结构方式,您的应用程序位于沙盒中,只有Apple与开发人员社区共享的公共API才能与系统通信。一些公共API可以像加速度计一样自由使用,但其他公共API需要用户许可,如位置信息。遗憾的是,日期和时间设置apis不公开,因此您根本无法使用日期和时间设置。

有许多帖子关于以用户防篡改方式获取时间。最重要的是,没有真正的100%防篡改解决方案,但以下代码已经是保护大多数用户的一个很好的步骤。

#import <CoreLocation/CoreLocation.h>

CLLocation* gps = [[CLLocation alloc]
                   initWithLatitude:(CLLocationDegrees) 0.0
                   longitude:(CLLocationDegrees) 0.0];
NSDate* now = gps.timestamp;

许多其他资源,但请看看这两个:

答案 1 :(得分:2)

您可以使用此工具https://github.com/instacart/TrueTime.swift来获取同步时间。

如果您确实要询问用户,则可以将同步日期与当前日期Date()进行比较。 如果日期不同,则可以要求用户检查设置。