iOS-iOS9系统SEGV_ACCERR问题处理【v3.6.3的一些bug修复】
前言
最近APP不斷地更新版本,卻發現一些未知的錯誤導致崩潰,我把能測出來的錯誤,全部修復了,因為項目里集成了騰訊Bugly,看了下后臺的崩潰,依舊千篇一律啊,然后就糾結了,很多SEGV_ACCERR的錯誤問題,看了下機型統計,98%的崩潰來自于iOS9系統;還有一些適配時iPad出現的錯誤,當然iPad錯誤很明顯;
iOS9?SEGV_ACCERR問題處理
1、打包app并導出ipa。
2、將導出的ipa文件后綴名改為.zip。
3、解壓該zip文件,解壓后有一個Payload文件夾,該文件夾中是你的app bundle。
4、打開終端,定位到該app bundle。命令如下:cd path/Payload/xxx.app
5、使用find命令查找到Assets.car文件。命令為:find . -name 'Assets.car'
6、使用assetutil命令找到任何包含著16-bit或者P3的資源文件。對上一步找出的每個Assets.car執行如下命令:
?sudo xcrun --sdk iphoneos assetutil --info /path/Payload/xxx.app/Assets.car > /tmp/Assets.json
?7、第6步里面有兩個路徑,第一個路徑/path/Assets.car不要照抄,替換為第五步中查找出的路徑。
8、使用open命令打開第六步生成的Assets.json。命令為:open /tmp/Assets.json
9、在第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);}?
轉載于:https://www.cnblogs.com/wangkejia/p/9569303.html
總結
以上是生活随笔為你收集整理的iOS-iOS9系统SEGV_ACCERR问题处理【v3.6.3的一些bug修复】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker remote api未授权
- 下一篇: 用户和组的管理训练