LaunchImage和LaunchScreen.xib混用出現(xiàn)的坑

Xcode6和iOS 8以后,蘋(píng)果給開(kāi)發(fā)者新添加了一種配置啟動(dòng)圖的方式LaunchScreen.xib声搁。

筆者覺(jué)得慷妙,這種方式的優(yōu)勢(shì)在于無(wú)需做多張啟動(dòng)圖進(jìn)行適配,LaunchImage需要美工做多張圖蜒秤,而LaunchScreen.xib可以自適應(yīng)布局,做一張圖就夠了亚斋。

不過(guò)作媚,筆者建議為了更好的適配,免除圖片拉伸造成的不好的效果帅刊,可以在Images.xcassets纸泡,添加一個(gè)命為Default的圖片集But,這種方式有個(gè)巨大的坑啊樓主現(xiàn)在還沒(méi)爬上來(lái)~

由于筆者接手的是別人的項(xiàng)目,啟動(dòng)圖也沒(méi)有更換過(guò)赖瞒,一直沒(méi)有動(dòng)過(guò)這塊女揭,也沒(méi)有太在意蚤假。最近由于有更換啟動(dòng)圖的需求,開(kāi)始著手搞啟動(dòng)圖這塊的內(nèi)容田绑。原來(lái)外包用的是LaunchScreen.xib這種方式勤哗,在改這一塊的時(shí)候,把這兩種方式都選了~然后掩驱,問(wèn)題出現(xiàn)了

啟動(dòng)圖選擇方式
關(guān)于啟動(dòng)圖黑屏

測(cè)試的時(shí)候發(fā)現(xiàn),有的時(shí)候處出現(xiàn)黑屏的現(xiàn)象冬竟,百度了一下欧穴,有人說(shuō)好像是兩種方式混用的結(jié)果。原來(lái)泵殴,iOS8以后的系統(tǒng)默認(rèn)LaunchScreen.xib方式涮帘,之前的系統(tǒng)選擇LaunchImage方式。然后我們就選擇了LaunchImage這種更加穩(wěn)定可靠的方式笑诅。啟動(dòng)圖黑屏的問(wèn)題果然不存在了

安裝過(guò)舊版本的App啟動(dòng)圖無(wú)法更換

由于筆者的手機(jī)頻繁的刪除應(yīng)用调缨,沒(méi)有發(fā)現(xiàn)這個(gè)問(wèn)題。產(chǎn)品經(jīng)理在安裝測(cè)試版的App后出現(xiàn)啟動(dòng)圖沒(méi)有更換的問(wèn)題~刪了應(yīng)用重裝也不行
So吆你,問(wèn)題來(lái)了~What happend?

筆者開(kāi)始了漫長(zhǎng)的測(cè)試~~~

  • 先用 LaunchScreen.xib方式添加啟動(dòng)圖A弦叶,運(yùn)行工程,App啟動(dòng)圖為A妇多,然后更換啟動(dòng)圖為B
  • 啟動(dòng)圖添加方式更換為L(zhǎng)aunchImage方式伤哺,運(yùn)行工程,App啟動(dòng)圖為A
  • 啟動(dòng)圖添加方式更換為L(zhǎng)aunchImage方式者祖,刪掉App立莉,運(yùn)行工程,App啟動(dòng)圖為B
  • 啟動(dòng)圖添加方式不更換七问,運(yùn)行工程蜓耻,App啟動(dòng)圖為A
  • 啟動(dòng)圖添加方式不更換,刪掉App械巡,運(yùn)行工程刹淌,APP啟動(dòng)圖為A
  • 啟動(dòng)圖添加方式不更換,重啟手機(jī)坟比,運(yùn)行工程芦鳍,APP啟動(dòng)圖為A
  • 啟動(dòng)圖添加方式不更換,刪掉App葛账,重啟手機(jī)柠衅,運(yùn)行工程,APP啟動(dòng)圖為B
  • 先用 LaunchImage方式添加啟動(dòng)圖A籍琳,運(yùn)行工程菲宴,App啟動(dòng)圖為A贷祈,然后更換啟動(dòng)圖為B
  • 啟動(dòng)圖添加方式不更換,運(yùn)行工程喝峦,App啟動(dòng)圖為B
  • 啟動(dòng)圖添加方式更換為 LaunchScreen.xib势誊,運(yùn)行工程,App啟動(dòng)圖為B
  • LaunchImage與LaunchScreen.xib混用沒(méi)有測(cè)試谣蠢,因?yàn)樵趇OS8系統(tǒng)以后粟耻,默認(rèn)使用LaunchScreen.xib,效果和第一種是一樣的眉踱,感興趣的讀者可以測(cè)試一下
為什么用 LaunchScreen.xib方式添加啟動(dòng)圖會(huì)出現(xiàn)上面的效果挤忙?筆者做了一些小小的測(cè)試

開(kāi)始筆者覺(jué)得,可能是使用xib方式谈喳,系統(tǒng)會(huì)在App沙盒保存一份啟動(dòng)圖册烈,就下載一個(gè)軟件iFunBox

安裝好,點(diǎn)擊應(yīng)用

屏幕快照 2016-03-17 下午5.43.43.png

這里我們可以看到婿禽,平時(shí)我們?cè)诔绦蚶锊僮鞯膸讉€(gè)文件夾


屏幕快照 2016-03-17 下午5.44.02.png

點(diǎn)擊Library


屏幕快照 2016-03-17 下午5.44.13.png

點(diǎn)擊Caches


屏幕快照 2016-03-17 下午5.44.23.png

點(diǎn)擊Snapshots,


屏幕快照 2016-03-17 下午5.44.35.png

果然找到了啟動(dòng)圖


屏幕快照 2016-03-17 下午5.44.49.png

而LaunchImage模式赏僧,不會(huì)生成這張圖片

筆者原本以為,這張圖就是App每次啟動(dòng)時(shí)要拿的圖扭倾。在LaunchScreen.xib模式下淀零,就刪掉了這張圖,重新運(yùn)行工程吆录。然而窑滞,筆者期待的景象并未發(fā)生,即便更換成啟動(dòng)圖B恢筝,App的啟動(dòng)圖仍然為A哀卫,同時(shí)在這個(gè)文件夾下,啟動(dòng)圖A又出現(xiàn)了撬槽。so此改,這張圖并不是App啟動(dòng)時(shí)調(diào)用的。其實(shí)侄柔,出現(xiàn)啟動(dòng)圖添加方式不更換共啃,刪掉App,運(yùn)行工程暂题,APP啟動(dòng)圖為A這種結(jié)果時(shí)移剪,就證明筆者的思路是錯(cuò)的,因?yàn)榇藭r(shí)這個(gè)文件夾已經(jīng)不存在了薪者,說(shuō)明App啟動(dòng)后啟動(dòng)圖在App沙盒之外進(jìn)行了保存纵苛,即保存在了iOS系統(tǒng)本身的某些緩存文件下。

啟動(dòng)圖添加方式不更換,刪掉App攻人,重啟手機(jī)取试,運(yùn)行工程,APP啟動(dòng)圖為B怀吻,則證明瞬浓,iOS系統(tǒng)緩存的這些文件,只有重啟手機(jī)才能刪掉蓬坡,不重啟的話猿棉,這些信息在App重新安裝的時(shí)候,依然可用屑咳,具體保存在哪铺根,筆者真心沒(méi)找到~

所以,LaunchScreen.xib這種添加啟動(dòng)圖的方式乔宿,建議讀者不要使用,不如讀者如果解決這種問(wèn)題建議通知筆者跪謝

總結(jié):在LaunchScreen.xib模式下访雪,Snapshots文件夾下的這張圖片每次在App啟動(dòng)的時(shí)候都會(huì)更新详瑞。因?yàn)檫@張圖片是系統(tǒng)對(duì)啟動(dòng)圖進(jìn)行截屏得到的,但是App啟動(dòng)時(shí)調(diào)用的那張圖片是在App首次使用LaunchScreen.xib模式時(shí)用的那張圖片臣缀,系統(tǒng)對(duì)這張圖片進(jìn)行了保存坝橡,只要這張圖片存在,無(wú)論采用什么模式精置,都會(huì)調(diào)用這張圖片计寇。而能夠刪除這張圖片的唯一方式,就是刪掉程序脂倦,重啟手機(jī)番宁。


2016-03-20更新


問(wèn)題解決了:筆者將LaunchScreen.xib更換成了LaunchScreen.storyboard就能進(jìn)行更換了。而且LaunchScreen.storyboard創(chuàng)建的啟動(dòng)圖是可以隨時(shí)更換的赖阻〉海可能是因?yàn)閄code7以后,蘋(píng)果主推LaunchScreen.storyboard而取代了LaunchScreen.xib火欧。最重要的是棋电,一定要記得更換圖片的名字,千萬(wàn)不要使用一樣的名字根苇侵,否則還是更換不了赶盔。我原來(lái)使用的都是Default.png,更換了就好了。

iOS開(kāi)發(fā)時(shí)如何使用 Launch Screen Storyboard

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末榆浓,一起剝皮案震驚了整個(gè)濱河市于未,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖沉眶,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件打却,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡谎倔,警方通過(guò)查閱死者的電腦和手機(jī)柳击,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)片习,“玉大人捌肴,你說(shuō)我怎么就攤上這事∨河剑” “怎么了状知?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)孽查。 經(jīng)常有香客問(wèn)我饥悴,道長(zhǎng),這世上最難降的妖魔是什么盲再? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任西设,我火速辦了婚禮,結(jié)果婚禮上答朋,老公的妹妹穿的比我還像新娘贷揽。我一直安慰自己,他們只是感情好梦碗,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布禽绪。 她就那樣靜靜地躺著,像睡著了一般洪规。 火紅的嫁衣襯著肌膚如雪印屁。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天淹冰,我揣著相機(jī)與錄音库车,去河邊找鬼。 笑死樱拴,一個(gè)胖子當(dāng)著我的面吹牛柠衍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晶乔,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼珍坊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了正罢?” 一聲冷哼從身側(cè)響起阵漏,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后履怯,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體回还,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年叹洲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了柠硕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡运提,死狀恐怖蝗柔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情民泵,我是刑警寧澤癣丧,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站栈妆,受9級(jí)特大地震影響胁编,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鳞尔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一掏呼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧铅檩,春花似錦、人聲如沸莽鸿。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祥得。三九已至兔沃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間级及,已是汗流浹背乒疏。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饮焦,地道東北人怕吴。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像县踢,于是被迫代替她去往敵國(guó)和親转绷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容