问题:
在Xcode 11 创建的工程,运行设备选择 iOS 13.0 以下的设备,运行应用时会出现黑屏现象。
原因:
Xcode 11 默认是会创建通过 UIScene 管理多个 UIWindow 的应用,工程中除了 AppDelegate 外会多一个 SceneDelegate
AppDelegate和SceneDeleg[图片上传中...(企业微信截图_a35946e8-a826-45d1-abfc-e30bc3635f89.png-cfdbce-1574855530169-0)]
te这是iPadOS带来的新的多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。OS13之后, AppDelegate不再控制生命周期 I生命周期时间就开始由UISceneDelegate接管
解决步骤:
1 删除掉info.plist中Application Scene Manifest选项,同时,文件SceneDelegate可删除可不删
2 在 AppDelegate 中 相关SceneSession代码注释掉 或者 在代码后添加 API_AVAILABLE(ios(13.0))
3 Appdelegate新增windows属性
object-C:
swift: