iOS-iOS9系統SEGV_ACCERR問題處理【v3.6.3的一些bug修復】

前言

最近APP不斷地更新版本,卻發現一些未知的錯誤致使崩潰,我把能測出來的錯誤,所有修復了,由於項目裏集成了騰訊Bugly,看了下後臺的崩潰,依舊千篇一概啊,而後就糾結了,不少SEGV_ACCERR的錯誤問題,看了下機型統計,98%的崩潰來自於iOS9系統;還有一些適配時iPad出現的錯誤,固然iPad錯誤很明顯;json

iOS9 SEGV_ACCERR問題處理


一、打包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);
 }
相關文章
相關標籤/搜索