在我们的应用程序中,如果用户一周未登录,我们必须自动注销用户。
安排它的最佳方法是什么?我使用了时间间隔为 (24*7*60*60) 的 NSTimer
可以吗?
NB: Login screen will automatically shown after terminating the app. So the case occurs only when the app is minimized for a week
最佳答案
当应用程序在后台运行时,NSTimer 会暂停。您的用户很有可能会运行其他应用,因此您的应用将进入后台。
我会这样解决问题
- 当用户登录时,我获取当前时间(
NSDate
)并将其保存在NSUserDefault
带有类似“lastLoginTime”的键。 - 每当用户启动/恢复应用程序时,我都会检查当前时间 以前节省的时间。如果差异大于 1 周,我 调用注销。
- 如果差异小于 1 weak,我更新
NSUserDefault
值 与当前时间。
关于ios - NSTimer 的最大时间间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200392/