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

问题描述 投票:7回答:2

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

ios swift
2个回答
4
投票

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
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.