iOS如何检测用户是否更改了系统时间,如果没有将设备时间与服务器时间进行比较

2023-11-21

需求是必须检测iPhone的系统时间是否被用户手动更改。为此我用过

NSNotificationCenter.defaultCenter().addObserver(self, selector: "timeChangedNotification:", name: NSSystemClockDidChangeNotification, object: nil)

and

 func timeChangedNotification(notification:NSNotification){
    println("Device time has been changed...")
    }

但没有得到结果。 另外,如果这个时间没有改变,则意味着它是网络提供的自动时间,那么必须与服务器时间进行比较。如何做到这一点?请给予同样的帮助。


根据其文档,NSSystemClockDidChangeNotification is:

每当系统时钟更改时发布。这可以通过调用 settimeofday() 或用户更改“日期和时间首选项”面板中的值来启动。

因此,除非您希望用户在应用程序运行时更改日期或时间,否则您显然不会听到任何声音。通知由事件触发。

iOS 没有为您提供一种方法来询问系统认为时间和日期是当前值的权限 - 无论是运营商网络时间、时间服务器时间、用户提供的时间还是其他时间。没有单一服务器时间,也无法请求。你想做的事是做不到的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS如何检测用户是否更改了系统时间,如果没有将设备时间与服务器时间进行比较 的相关文章

随机推荐