iOS自动注销应用程序
问题描述:
我想创建一个计时器或某种类型的自动注销用户后x分钟的不活动。我想以美国银行申请的方式执行此操作。 BofA应用程序执行此操作的方式即使应用程序放入后台,它仍会记录时间。当达到时间限制时,将弹出一个通知,说明您正在注销。iOS自动注销应用程序
在应用程序进入后台时,如何在不暂停计时器的情况下完成此任务?
答
我想也许你能做的最简单的事情就是注册你的AppDelegate和NSNotificationCenter
来监听来自所有(或者特定的)发件人的所有事件。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resetTimer) name:nil object:nil];
你需要采取与传递nil
到name
和object
参数小心,你会得到一吨的通知(甚至一些不是从应用的业务,即内存警告)。如果您知道或有特定事件名称和/或对象的列表,我会在这些列表上观察。
在你resetTimer
方法,你可以简单的撤销上一计时器,并创建一个新的,会调用一些logout
方法和伊娃设置为当前日期/时间(即timerStart = [NSDate now];
)
上述步骤将照顾你的应用程序,而它在前台。
当该应用程序背景时,定时器将退出工作。但是,当应用程序返回到前台时,您可以计算[NSDate now]
和您的timerStart
iVar之间的增量。如果增量大于某个间隔,则调用logout
方法。如果没有,您可以拨打resetTimer
再次启动计时器。
编辑
如果你想转到后台运行的应用程序,以提醒用户即将被注销,你可以使用一个UILocalNotification
。您可以安排一个在应用程序进入后台时发出警报。当应用程序进入前台时,您可以取消该通知(并执行上面提到的步骤)。
这是我对如何做到这一点的想法,但是当用户在应用程序处于后台时超时时,它不会为通知中心提醒。 – Bot 2012-04-25 15:17:58