
趁著下載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 個小時左右。收到客服妹子的一個大寫的問號。

這一瞬間,整個人都是懵的,慌忙讓用戶重啟APP,重啟系統(tǒng),升級系統(tǒng),最后被用戶拒絕掉。
既然是必現(xiàn)的問題,不能將問題推到升級系統(tǒng)上,該解決還是要盡快解決的。
接著就開始著手另外一個項目,晚上回到家開始思考,問題存在的版本近期究竟改了什么內容。同時也下載了iOS8.1 的模擬器,使用最新版本的Xcode 運行看了下效果,確實如此是復現(xiàn)的。
所以,要馬上改變態(tài)度,和客服同志搞好關系,早點認錯才能走得更遠。

回憶
1. 刪掉LaunchScreen.sb 文件
為了適配iPhone X 的啟動圖,同時在啟動后使用啟動圖做了簡單的效果,決定使用LaunchImage 的方式設置啟動圖。
在更改代碼后,嘗試了一下修改結果,依然是非正常的。
效果如下,絲毫沒有改變:

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ù)修復:
2. 先降級Xcode
確切的說,這是目前最快捷的一個方式,保證沒有問題。
3. 改變圖片資源存儲
圖片不要放在asset里面,方法放在bundle里面就沒問題。不知道是Xcode9.2bug還是沒設置相關屬性。

