gpt4 book ai didi

iphone - 如何在 iOS 终止应用程序之前在过期处理程序中优雅地结束任务?

转载 作者:行者123 更新时间:2023-12-03 21:18:56 27 4
gpt4 key购买 nike

我们希望在调用过期处理程序后注销我们的应用程序。这在某些时候有效,但有时即使我们通过调用 endBackgroundTask 结束后台任务,它也会硬终止进程。在这种情况下,我们的注销过程似乎花费了太长的时间,iOS 直接终止了它。这应该不是一项很长的任务,但是有什么办法可以请求额外的时间吗?

 if ([app respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]) {
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
// Synchronize the cleanup call on the main thread in case
// the task actually finishes at around the same time.
dispatch_async(dispatch_get_main_queue(), ^{
if (bgTask != UIBackgroundTaskInvalid) {

backgroundKilled = true;

[self logoutAll];

[app endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}
});
}];
}

最佳答案

这是一个很好的UIApplication delegate overview ,涵盖了应用程序被终止时所经历的情况。

关于iphone - 如何在 iOS 终止应用程序之前在过期处理程序中优雅地结束任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6864025/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com