我的手机是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)