首页 > 解决方案 > 在离线模式下获取iOS中的时差

问题描述

我有一个可以离线和在线工作的应用程序。我有一个来自客户的请求,要求嵌入一个功能,该功能将禁止用户在几天后使用某些功能,例如 7 天。

如果在线我可以通过比较服务器时间之间的时间间隔轻松完成此任务。

但在离线模式下,这一直是个问题。我试图通过在 USerDefault 中保存服务器时间戳来实现这一点,当应用程序进入前台时,将当前的 NSDate 与保存的 NSDate 进行比较以获取时间间隔。但是,我发现这可以通过在“设置”中操纵日期和时间来轻松破解,并且应用程序中的这些功能永久有效。

我想到的另一个解决方案是如果日期时间未在设置中设置为自动,则禁用该应用程序。但是,发现苹果并没有透露访问日期和时间的API。

我在互联网上搜索了其他答案,但找不到解决此问题的解决方案。另外,尝试了一些离线游戏应用程序进行检查,但发现我可以更改日期和时间来操作它们的功能。

那么,没有任何强大的解决方案来解决这个问题吗?任何帮助都是非常可观的。

标签: iosswiftxcodensdatenstimeinterval

解决方案


您可以在用户离线或注销时通过 API 调用管理服务器上的时间。所以你可以很容易地知道你的确切时间,而且它也是不可破解的:)


推荐阅读