ios - 12 小时后重新启动应用程序 objective-c

标签 ios objective-c performselector application-restart

我有一个具有 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/

相关文章:

ios - 连接 Lightning kBD 或 Smart KBD 后没有 EAAccessoryDidConnectNotification 和 EAAccessoryDidDisconnectNotification

ios - UIButton 的正常状态和突出显示状态之间的动画转换

ios - 无法读取 JSON 数据

ios - 像 iMessage 这样指示位置的缩略图 URL 最好是什么?

ios - AppStore Connect 显示的屏幕截图颜色空间错误

objective-c - 如何在 Objective-C 中进行矩阵和向量数学运算?

ios - 只有在第一个功能完成后才执行一个功能 - ios

iphone - 当后台任务完成时如何向主 UI 线程指示? (在后台执行选择器)

php - 使用 WebRTC for iOS 创建自定义音频/视频聊天服务器?

ios - mac/ios 从命令行设置 webrtc 并创建 .bash_profile