? ? ? ? 最近得閑筑舅,沒事將公司項目框架座慰,重頭到尾整理了一遍。在做需求的時候翠拣,要更換啟動圖片版仔,但是再打包測試的時候,發(fā)現(xiàn)啟動圖片一直更新不上误墓,始終顯示老版本的啟動圖蛮粮。經(jīng)過各種折騰終于解決,現(xiàn)在分享出來谜慌,給各位遇到相同問題的小伙伴參考然想。
? ? ? 先來描述下我遇到的問題。早些時候欣范,最早的開發(fā)同事用LaunchImage 的方式創(chuàng)建的啟動圖变泄,這種方式更換啟動圖,都能及時更新恼琼。后面由于遇到5s上適配黑邊的問題妨蛹,公司的小伙伴用launchScreen.storyboar和LaunchImage并存的方式重新做了啟動圖。然后發(fā)出一個版本A驳癌,都沒什么問題滑燃。但是當我們發(fā)版本B的時候,發(fā)現(xiàn)啟動圖放上去颓鲜,打包測試的過程中死活都更新不上表窘,把資源文件里所有的老圖都刪除掉典予,也更換不上。于是就有了這篇記錄乐严。
緣由
? ? ? ? 由于歷史原因瘤袖,蘋果公司提供兩種設置啟動圖片的方式。launchScreen和LaunchImage
昂验,iOS8以前的系統(tǒng)不支持launchScreen捂敌。兩種方式如何設置啟動圖,這就不多說了既琴,相信大家都很了解占婉,不了解可以自己百度一下,有很多相關教程甫恩。這里只介如何紹解決問題逆济。為什么會產(chǎn)生我上面所出現(xiàn)的問題呢,經(jīng)過各種爬文磺箕,了解到奖慌,launchScreen方式會把啟動圖緩存到APP的資源包內(nèi),每次更新松靡,這一部分資源會檢測文件名稱简僧,如果名稱一致,則不會更新(暫時這么猜測雕欺,畢竟誰也不太清楚蘋果怎么來做的)岛马。并且,launchScreen的資源優(yōu)先級大于LaunchImage阅茶,無論LaunchImage如何替換資源蛛枚,只要緩存里面有l(wèi)aunchScreen留下的圖片,都會使LaunchImage設置實效脸哀。經(jīng)過試驗如果想要清除這一步分緩存蹦浦,可以先卸載APP,然后重啟手機撞蜂,重新下載才行(我們不能要求用戶這樣做)盲镶。所以如果你用過launchScreen來做啟動圖,就很難回頭了蝌诡。
解決方式
??????? 說說我們怎么解決的:
1.將LaunchImage刪除溉贿,只用launchScreen方式設置啟動圖
2.在launchScreen方式下,找到啟動圖浦旱,刪除宇色,改變圖片名稱,然后再拖入工程主目錄下(不要放在Assets.xcassets中,這樣可能更新找不到啟動圖宣蠕,呈現(xiàn)白屏)例隆。
3.在更新APP沒有意外的話,應該就更新啟動圖啦抢蚀。