如何检查iPhone中的设备时钟时间已更改

如何检查iPhone中的设备时钟时间已更改,iphone,objective-c,ios,datetime,Iphone,Objective C,Ios,Datetime,可能重复: 是否有办法检查设备时钟时间是否已手动修改。类似于NSSystemClockDidChangeNotification,但这只在我的应用程序运行时起作用。我们可以在应用程序不工作时检测到这一点。您可以将本地时间与时间服务器进行比较,并存储差异。然后,在下一次运行时,再次运行,看看差异是否发生了变化。不过,您需要连接到Internet。如果您没有Internet连接,您可以存储您的本地时间,并在每次跑步时检查它。然后,您将能够检查本地时间是否已反转。您将无法检查它是否向前移动。您可以在

可能重复:


是否有办法检查设备时钟时间是否已手动修改。类似于
NSSystemClockDidChangeNotification
,但这只在我的应用程序运行时起作用。我们可以在应用程序不工作时检测到这一点。

您可以将本地时间与时间服务器进行比较,并存储差异。然后,在下一次运行时,再次运行,看看差异是否发生了变化。不过,您需要连接到Internet。如果您没有Internet连接,您可以存储您的本地时间,并在每次跑步时检查它。然后,您将能够检查本地时间是否已反转。您将无法检查它是否向前移动。

您可以在终止应用程序之前节省时间,并在启动时检查。如果有人试图欺骗你的应用程序,他可能只会在有限的时间内设置时钟(临时)。这样你就可以检查时间是否倒流了


除非你改变时区,否则时间永远不会倒流。因此,在指责用户是骗子之前,我会非常小心。他可能改变了时区

不,据我所知,您无法检测到此更改,但也许您可以在应用程序从后台恢复时执行此操作?但如果有人更改设备时间并执行某些操作,那么我们如何记录该事件的实际发生时间。您为什么需要记录他们的操作?听起来像是恶意软件,不是恶意软件。我想记录代理实际执行操作的时间。当它们同步时。在服务器上,可以在以后的任何时候执行此操作。如果不这样做,他们很容易在执行操作时作弊如果你正在与服务器同步,然后看到给定的答案。他在脱机时执行一些事件,更改设备时间,但在与服务器同步或通信时,假设他更正了设备时间。如果没有internet连接,您无法验证这一点。因此,除非存在活动的internet连接,否则您必须禁止这种行为。苹果没有验证时间的硬件。此答案中的更多信息: