版本發(fā)布上線后,客戶反饋app運行閃退。測試沒問題呀,于是我上友盟查問題,哇塞,崩潰概率好高,ios9.3以下版本會崩潰。
那就找來一部ios9.2的手機連機調試吧,裝上跑起來沒問題呀。
既然debug調試沒問題,那我們試release調試也沒問題,再試發(fā)布一個企業(yè)版本調試也沒問題。。。但是從app store下載運行就奔潰。我也崩潰了。
后來想既然只有從app store下載才出現(xiàn)問題,難道是打包的時候出問題了?于是重新打包上傳到iTunes Connection發(fā)布,沒錯,還是奔潰。。。
然后就上網(wǎng)各種查找Xcode8打包iOS9線上奔潰問題的資料,最終鎖定到了P3資源文件的問題上。
那我們接著定位問題圖片。
1、打一個ipa包,改為zip格式解壓,進入Payload文件夾。打開終端執(zhí)行
cd /Users/Desktop/test/Payload/test.app
2、用find命令定位到Assets.car文件
find . -name 'Assets.car'
3、使用 assetutil 命令導出圖片的信息存儲到Assets.json文件中
sudo xcrun --sdk iphoneos assetutil --info ./Assets.car > /tmp/Assets.json
4、打開生成的Assets.json文件
open /tmp/Assets.json
5、查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″

20181009115622962.jpg
左圖為不符合的圖片信息簡介

20181009115854306.png
更換了圖片,重新打包發(fā)布,ok,沒毛病。