發(fā)現(xiàn)9.0 ---9.3 崩潰較多。xcode的鍋。目前 10.1 還沒(méi)解決此問(wèn)題。
解決方法
:
1用xcode9 打包
2.不再兼容9.3以下的用戶
Xcode 更新文檔
已知問(wèn)題:
包含使用Xcode 10或更高版本構(gòu)建的資產(chǎn)目錄且部署目標(biāo)設(shè)置為iOS 9.0,9.1或9.2的應(yīng)用程序會(huì)生成與這些iOS版本的運(yùn)行時(shí)不兼容的內(nèi)容。(44535967,45723580,45723189)
參考資料:
查看了bugtags上的反饋情況,發(fā)現(xiàn)崩潰基本集中在iOS9系統(tǒng)上,Google了一波,大神們說(shuō),是Xcode10的毛病。具體情況是這樣的:
bug復(fù)現(xiàn)條件:
1、APP最低版本支持iOS9.0-iOS9.2.1之間的系統(tǒng);
2、Xcode10打包;
3、使用xcassets管理圖片;
4、xcassets中有非jpg的圖片;
注:該問(wèn)題,打蒲公英的測(cè)試包無(wú)法復(fù)現(xiàn),直接在手機(jī)上運(yùn)行無(wú)法復(fù)現(xiàn),模擬器上無(wú)法復(fù)現(xiàn)(本人親測(cè))。
解決方案:
方案一:如果沒(méi)有使用iOS12 的新功能,建議暫時(shí)用Xcode9打包,等待Xcode10.1版本修復(fù)該問(wèn)題;
方案二:把xcassets圖片放到bundle里;
方案三:最低版本支持設(shè)置為iOS9.3及以上;
方案四:把xcassets圖片全部替換成jpg,必須全部替換,不然已然存在crash風(fēng)險(xiǎn);
方案五:把Xcode9打包生成的Assets.car替換Xcode10打包生成的Assets.car。
具體crash原因:Xcode10打包生成的Assets.car,非jpg圖片會(huì)多一套palette-img壓縮算法的圖片(Xcode9是lzfse壓縮算法),這也解釋了Xcode10打包生成的Assets.car會(huì)大一些的原因,jpg圖片用Xcode10打包和用Xcode9打包都只有l(wèi)zfse,所以直接替換Assets.car是兼容的。
至此,Xcode10打包在iOS9上引發(fā)crash的問(wèn)題得到解決。
原文:https://blog.csdn.net/buyu03/article/details/83068638