iOS 13:如何防止应用在后台被杀死?

时间:2019-11-06 13:39:33

标签: ios13 background-application

我正在开发一个应用程序,该应用程序需要在后台获取位置并将其更新到服务器。对于早期的iOS版本,它运行良好。但是在发布iOS 13之后,我的应用程序在后台被杀死了。我检查了很多解决方法,但找到了任何可行的解决方案。它具有“后台处理”功能。

非常欢迎任何帮助!

3 个答案:

答案 0 :(得分:0)

仅音乐应用程序或下载程序形式的Internet应用程序(“在后台完成长期运行的任务”)将保留在后台,所有其他应用程序将在一段时间后被杀死。

答案 1 :(得分:0)

https://support.apple.com/en-us/HT210393#1322 -[iOS 13.2.2]修复了在后台运行时可能导致应用意外退出的问题

答案 2 :(得分:0)

崩溃可能是由于后台任务泄漏引起的。在我的应用程序中,某些SDK无法正确使用后台任务。由于它已被看门狗杀死,因此不会出现调试,因此可以在调试过程中打印beginBackgroundTask和endBackgroundTask。如果不匹配,则会发生泄漏。

我写了一个类别来挂钩与后台任务相关的方法,以避免泄漏被看门狗杀死:https://github.com/ruanjx/MPIBackgroundTaskProtection

有关后台任务的更多信息:https://medium.com/swlh/handling-background-tasks-in-ios-13-67f717d94b3d