問題:
在Xcode 11 創(chuàng)建的工程穆役,運行設(shè)備選擇 iOS 13.0 以下的設(shè)備少欺,運行應(yīng)用時會出現(xiàn)黑屏現(xiàn)象冶共。
原因:
Xcode 11 默認是會創(chuàng)建通過 UIScene 管理多個 UIWindow 的應(yīng)用瑟枫,工程中除了 AppDelegate 外會多一個 SceneDelegate
AppDelegate和SceneDeleg[圖片上傳中...(企業(yè)微信截圖_a35946e8-a826-45d1-abfc-e30bc3635f89.png-cfdbce-1574855530169-0)]
te這是iPadOS帶來的新的多窗口支持的結(jié)果祖乳,并且有效地將應(yīng)用程序委托的工作分成兩部分遥皂。OS13之后力喷, AppDelegate不再控制生命周期 I生命周期時間就開始由UISceneDelegate接管
解決步驟:
1 刪除掉info.plist中Application Scene Manifest選項,同時演训,文件SceneDelegate可刪除可不刪
2 在 AppDelegate 中 相關(guān)SceneSession代碼注釋掉 或者 在代碼后添加 API_AVAILABLE(ios(13.0))
3 Appdelegate新增windows屬性
object-C:
swift: