3

我想为我的应用程序实现一个安全的基于时间的自动锁定功能(类似于 1password 中的自动锁定功能)。用户可以选择密码和锁定激活后的时间段(1、2、3、5、10、30 分钟)。基本上我可以在我的设备上写一个时间戳(加密)并将其与下一次使用的当前时间进行比较。如果增量大于所选时间段,则用户必须输入密码。但是可以通过更改设备上的本地时间来忽略此功能。必须有一种安全的方式(例如特殊的系统计时器)来做到这一点。所以你不能以这种方式利用 1Password。有任何想法吗?

非常感谢

于尔根

4

2 回答 2

0

利用:

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

现在设置一个计时器:

  [NSTimer scheduledTimerWithTimeInterval:240 target:self selector:@selector(disableIdleTimer) userInfo:nil repeats:NO];

disableIdleTimer 方法设置这个:

[[UIApplication sharedApplication] setIdleTimerDisabled:NO];

完毕!!

于 2013-08-30T07:39:42.280 回答
0

您应该使用 Internet 时间服务器。他们使用称为 NTP 的标准化协议。iOS内置支持读取 NTP 服务器时间,但作为应用程序开发人员,您无法访问。您可以自己实现它,也可以使用开源库,如 ios-ntp 或 HS NTP。

于 2012-11-16T08:03:32.850 回答