问题:
在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接管

企业微信截图_2bdaad98-3f13-4182-9a1d-ea749de4b88b.png
解决步骤:
1 删除掉info.plist中Application Scene Manifest选项,同时,文件SceneDelegate可删除可不删

企业微信截图_a35946e8-a826-45d1-abfc-e30bc3635f89.png
2 在 AppDelegate 中 相关SceneSession代码注释掉 或者 在代码后添加 API_AVAILABLE(ios(13.0))
3 Appdelegate新增windows属性
object-C:

企业微信截图_b51a25b4-766c-4fe3-b997-1a88c317fae4.png
swift:

企业微信截图_e9bf4f8b-c4c1-4078-8b68-e92e74df2f88.png