有没有办法检查设备设置是否为"日期和时间"在Swift中设置为自动还是不自动? 如果有,是否可以让用户切换到所需的设置(自动)
答案 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()
进行比较。
如果日期不同,则可以要求用户检查设置。