iOS 13系统的一个bug

我的手机是13.3.1,swift写的App在Xcode中运行,按Home键退到后台后,Xcode的Output窗口输出错误提示:

Can't end BackgroundTask: no background task exists with identifier 1 (0x1), 
or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

App此时还是可以回到前台没有被系统关闭。
折腾了半天还是不行,stackoverflow上也找不到有用的答案,新建一个空的Single View App工程不管是oc还是swift版什么代码没写还是有一样的问题,MD,快崩溃了。
最后在这里找到很多人反应同样的问题:
"Can't end BackgroundTask" error message on iOS 13.0
所以应该是iOS系统的bug。在最后有人说13.4的系统可能会修复此bug,信息来自此链接:
Can't end BackgroundTask #4554

不过目前可以不理会这个提示,因为没有什么影响。

applicationDidEnterBackground和sceneDidEnterBackground


Xcode11.2.1创建的新工程,想要自己使用beginBackgroundTask创建后台任务时,原本AppDelegate中的:

func applicationDidEnterBackground(_ application: UIApplication)

永远不会被调用,现在的回调变成了:SceneDelegate中的:

func sceneDidEnterBackground(_ scene: UIScene) 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容