最近APP不斷地更新版本,卻發現一些未知的錯誤致使崩潰,我把能測出來的錯誤,所有修復了,由於項目裏集成了騰訊Bugly,看了下後臺的崩潰,依舊千篇一概啊,而後就糾結了,不少SEGV_ACCERR的錯誤問題,看了下機型統計,98%的崩潰來自於iOS9系統;還有一些適配時iPad出現的錯誤,固然iPad錯誤很明顯;json
一、打包app並導出ipa。app
二、將導出的ipa文件後綴名改成.zip。iphone
三、解壓該zip文件,解壓後有一個Payload文件夾,該文件夾中是你的app bundle。spa
四、打開終端,定位到該app bundle。命令以下:cd path/Payload/xxx.appcode
五、使用find命令查找到Assets.car文件。命令爲:find . -name 'Assets.car'blog
六、使用assetutil命令找到任何包含着16-bit或者P3的資源文件。對上一步找出的每一個Assets.car執行以下命令:圖片
sudo xcrun --sdk iphoneos assetutil --info /path/Payload/xxx.app/Assets.car > /tmp/Assets.jsonip
七、第6步裏面有兩個路徑,第一個路徑/path/Assets.car不要照抄,替換爲第五步中查找出的路徑。資源
八、使用open命令打開第六步生成的Assets.json。命令爲:open /tmp/Assets.jsonit
九、在第7步打開的文件中查找P3字段,對應的Name字段即爲該資源的名稱,刪除相應資源,或者修改文件格式便可。
在刪除了含有伽馬值 P3的資源圖片之後,這個問題幾乎沒有了!
注意:若是剛開始發現相似以下圖名字爲;ZZZZPackedAsset-*.0.1-gamut1的P3圖,這個直接忽略,在修改完發現的項目中的圖片後,這個名字的P3圖自動會沒有的!
跳坑:我發現的這些圖標,都是在阿里矢量圖標庫下載的圖標......
iPad適配問題【UIAlertController】
/** 此處爲適配iPad */ if ([alertVc respondsToSelector:@selector(popoverPresentationController)]) { alertVc.popoverPresentationController.sourceView = self.view; //必須加 alertVc.popoverPresentationController.sourceRect = CGRectMake(0, Scr_Height, Scr_Width, Scr_Height); }