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) 

你可能感兴趣的:(iOS 13系统的一个bug)