問題背景
一直以來我們的項目都是使用傳統(tǒng)的靜態(tài)圖片方式甜橱,通過 `.xcassets` 文件夾下的`LaunchImage` 適配各種機型尺寸來展示啟動圖哎媚。盡管從 Xcode7 開始蛾方,已經(jīng)默認提供 `LaunchScreen.storyboard` 方式來展示啟動圖狮腿,但我們一直沒調(diào)整√ぃ現(xiàn)在蘋果要求從 2020 年起抚吠,必須使用`LaunchScreen.storyboard` 的方式德崭,所以我們才開始著手調(diào)整斥黑。
使用LaunchScreen.storyboard 設置啟動圖
使用`Xcode 11.6`,在沒有移除原來 .xcassets 文件夾下的 `LaunchImage`?的基礎上接癌,新建一個`Launch Screen`心赶,并命名為`LaunchScreenA.storyboard`,來制作啟動圖缺猛,并通過約束進行`Safe Area` 適配缨叫,勾選 (use as Launch Screen ),并且在`Targets` ---`General` 或 `info.plist` 中設置 `Launch Screen File` ?或者?`Launch screen interface filebase name` 為`LaunchScreenA`荔燎。
但這種設置方式下耻姥,如果修改了 `LaunchScreenA.storyboard` 中的圖片后,再次運行真機或者模擬器有咨,啟動圖會出現(xiàn)黑屏琐簇,后面即使卸載、關機重啟座享、重新運行仍然無法解決黑屏的問題婉商。(這是由于手機系統(tǒng)中保留了上次的啟動圖緩存)
最終解決辦法:
最終發(fā)現(xiàn)有個辦法:重新再新建一個一模一樣的 `LaunchScreenB.storyboard`,然后通過`Targets` ---`General` 或者 `info.plist` ?將 `Launch Screen File` ?設置為 `LaunchScreenB`渣叛,重新運行即可解決每次啟動始終黑屏的問題丈秩,最后還可以再刪除掉原來的 `LaunchScreenA.storyboard`。