在iOS上实现app的自动锁定功能

时间:2012-11-16 07:46:10

标签: ios auto-lock

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

非常感谢

尔根

2 个答案:

答案 0 :(得分:0)

您应该使用Internet时间服务器。他们使用称为NTP的标准化协议。 iOS有built-in support for reading NTP server time,但作为应用程序开发人员,您无法访问它。您可以自己实现,也可以使用开源库,如ios-ntp或HS NTP。

答案 1 :(得分:0)

使用:

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

现在设置一个计时器:

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

disableIdleTimer方法设置此:

[[UIApplication sharedApplication] setIdleTimerDisabled:NO];

完成!!