2015-05-29 92 views
2

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

+0

按我所知,没有办法从设备设置中找到它。如果您使用任何服务器的API,则可以将设备时间与服务器时间进行比较。如果这有任何不匹配,那么你可以向用户显示警报或弹出窗口。 –

+0

可能重复的[iOS的 - 如何编程设置日期和时间](http://stackoverflow.com/questions/15572339/ios-how-to-set-the-date-and-time-programatically) – Vizllx

+0

好的,这不就像要求在位置许可? – MonkeyBizz

回答

1

iOS的结构化方式是,您的应用程序位于沙箱中,只能在公共场合与系统通信Apple与开发人员社区共享的API。一些公共API可以像加速度计一样自由使用,但其他公共API需要用户许可,例如位置信息。不幸的是,日期和时间设置API不公开,所以你不能玩日期和时间设置。

有很多关于以用户防篡改方式获取时间的文章。底线是没有真正的100%防篡改解决方案,但下面的代码已经是保护大多数用户不错的一步。

#import <CoreLocation/CoreLocation.h> 

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

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

+0

好的,谢谢,不好。必须使用som api:s来检查当前的位置和时间。该应用程序不信任用户;) – MonkeyBizz

+0

看看编辑了解更多关于不依赖系统时间的信息。 – Mika