我有一个具有 loginVC 的应用程序,当用户登录时,我希望在 12 小时后应用程序调用方法 -(void)logout
, 使用这些行 [self performSelector:@selector(logout) withObject:nil afterDelay:43200];
,在 UserLoggedVC 的 viewDidLoad 方法中。
如果应用程序处于打开状态或在后台,并且 afterDelay 中的时间参数很短,如 600 秒(10 分钟),则该方法被调用正常,但何时为长时间(如 43200 秒(12 小时)),并且应用程序处于后台该方法永远不会被调用。
我希望你能帮帮我
最佳答案
performSelector: withObject: afterDelay:
本质上只是一个计时器,后台不允许使用计时器。
相反,您应该只记录用户首次登录应用程序时的时间戳并保存。然后每次应用程序进入前台时,只需检查从当前时间到登录时间是否有 12 小时。
关于ios - 12 小时后重新启动应用程序 objective-c ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19016988/