Xcode9.2 編譯在iOS8.1 系統(tǒng)上圖片顯示異常

題圖

趁著下載Xcode 9.1 的空隙,在周末的早晨記錄一下這個坑,希望能解決相同遭遇同行的困惑。

始因

昨天剛發(fā)布了適配iPhone X 的最新版本,之所以使用Xcode 9.2打包,是因為早期的適配,通過Xcode 8.2打包,安裝到iPhone X上顯示的效果是沒有適配。

這個也是無法解釋的,我們開發(fā)使用的Xcode9,在適配過程中沒有遇到該問題,總是升級就對了。

剛好最近蘋果爹發(fā)布了Xcode 9.2,就索性升級到最新版本。

持續(xù)化集成就是方便,代碼提交以后,喝杯咖啡的工具,就上傳成功,等待審核。

也就是在昨天中午,收到審核通過的提醒,很奇怪,這個時候應該是他們休息的時間。

然后,就非??隙?,因為在適配的過程中,特意找了兩個iPhone X的用戶幫助測試體驗。隨著審核通過,就很快發(fā)布出去。

問題

大概下午3點鐘,距離發(fā)布版本只過了3 個小時左右。收到客服妹子的一個大寫的問號。

WX20171209-100043@2x.png

這一瞬間,整個人都是懵的,慌忙讓用戶重啟APP,重啟系統(tǒng),升級系統(tǒng),最后被用戶拒絕掉。

既然是必現(xiàn)的問題,不能將問題推到升級系統(tǒng)上,該解決還是要盡快解決的。

接著就開始著手另外一個項目,晚上回到家開始思考,問題存在的版本近期究竟改了什么內容。同時也下載了iOS8.1 的模擬器,使用最新版本的Xcode 運行看了下效果,確實如此是復現(xiàn)的。

所以,要馬上改變態(tài)度,和客服同志搞好關系,早點認錯才能走得更遠。

WX20171209-101223@2x.png

回憶

1. 刪掉LaunchScreen.sb 文件

為了適配iPhone X 的啟動圖,同時在啟動后使用啟動圖做了簡單的效果,決定使用LaunchImage 的方式設置啟動圖。

在更改代碼后,嘗試了一下修改結果,依然是非正常的。

效果如下,絲毫沒有改變:

Simulator Screen Shot - iPhone 6 - 2017-12-09 at 10.17.01.png

2. Xcode 版本升級

這次的改動比較小,所以在排除上述的改動后,直接想到的就是可能就是這個問題,但是很少會懷疑蘋果爹會挖這么大的坑,讓開發(fā)者跳進去。

不管如何,降級版本試試就知道是不是這個原因。

Xcode9.2 Xcode9.1
Simulator Screen Shot - iPhone 6 - 2017-12-09 at 10.17.01.png
Simulator Screen Shot - iPhone 6 - 2017-12-09 at 10.51.55.png

通過上述對比,確定問題就處在Xcode 版本上。

解決方案

1. 等蘋果爹更新

如果蘋果爹一直沒注意到這個問題,或者沒有人提,誰知道還要等多久?
關于此問題,我已經向蘋果爹提交了bug,期待后續(xù)修復:

ProblemID=35948702

2. 先降級Xcode

確切的說,這是目前最快捷的一個方式,保證沒有問題。

3. 改變圖片資源存儲

圖片不要放在asset里面,方法放在bundle里面就沒問題。不知道是Xcode9.2bug還是沒設置相關屬性。

參考鏈接

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容