好久沒有寫過東西了,一直用的CSDN,今后打算開啟簡書之旅。
坑一
先說下為什么寫這篇文章,最近新版本上線,改了啟動圖,上線前沒有在意,等上線通過從AppStore更新新版本時,我都快哭了:
我們之前的啟動圖是空白圖片,緊接著加載我自定義的啟動動畫,現(xiàn)在改了啟動圖片,去掉了啟動動畫。
我之前所有的版本加載啟動圖用的都是xib,最新這個版本改成了launchImage。然后從AppStore更新新版本時,啟動圖還是原來的圖片,由于之前是純白色圖片,你想想,“啟動-空白-主頁”,這是多么丑的一種體驗,我試了幾個手機都是這樣,只有卸載掉APP,重新下載才會加載出新的啟動圖。老板說不會所有用戶都是這樣吧,我說,也許、大概、可能吧!讓我默默的尷尬一會...
這個時候你們可能會說,設置啟動圖這是基礎技術啊,加載不出來是你哪里沒設置對吧?這怎么可能,如果設置不對的話,它永遠都不會加載出來的,是吧?請看我的設置截圖:
注:如果你不會設置啟動圖,按照我的截圖設置就行了。
1.launchImage方式,在Images.xcassets中新建一個LaunchImage,具體image的尺寸,自己網上搜索一下,然后工程中按照我的截圖方式設置。
2.LaunchScreen方式加載啟動圖,圖二對勾選中,注意約束的添加,圖一的截圖改為:
既然設置沒問題,那是為什么呢,Google了半天,發(fā)現(xiàn)大家是這樣說的:
- I test it ,it seems the only way to update your launchImage is unistall the app ,and install again.
I think this is apple's bug , Apple cache the snapshots,but don't update it when we change the setting. - 如果某個版本使用了 LaunchScreen.storyboard 方式來設置啟動圖后,后續(xù)的升級版本不可再更改為 LaunchImage 的方式,如果有更改,則啟動圖依然會使用之前 LaunchScreen.storyboard 里的內容。
- 我也遇到這問題了,這是系統(tǒng)bug。
- 等等。
意思就是說:這是系統(tǒng)bug,如果你之前的版本是用 LaunchScreen設置的啟動圖,而你的新版本改成了LaunchImage,那么它加載的還是之前的圖片。你們說這是不是坑人,嚇的我趕緊改回LaunchScreen,加急了一個版本。
也許這不是系統(tǒng)bug,只是我還找到解決方案,我也不敢太確定,如果誰遇到類似問題,還是繼續(xù)使用你的LaunchScreen吧。
另外,如果哪位大神知道方法,麻煩指導一下。
在查找上面原因的時候,發(fā)現(xiàn)大家遇到的有另外的坑,經驗證確實是這樣,這里也一一列舉一下
坑二.
當單獨使用LaunchImage設置啟動圖的時候,如果是iOS8以后的系統(tǒng),在 APP 從后臺通過 openURL 拉起到前臺時,不會出現(xiàn)啟動圖;
坑三.
當單獨使用LaunchScreen設置啟動圖的時候:
- iOS8 系統(tǒng)會導致 APP 在從后臺被拉起到前臺時,先出現(xiàn)黑屏再出現(xiàn)啟動畫面的情況
- iOS8以后系統(tǒng),如果更換過啟動圖, APP 在后臺被拉起到前臺時出現(xiàn)的啟動圖不會更新
- 當然iOS8之前的系統(tǒng)不能通過該方式加載啟動圖
<div align = right>歡迎指導、糾正、評論!</div>