iOS9系统下SEGV_ACCERR问题的解决方案
今天要講的是開發過程中遇到的一個小問題,看到網上也有很多人為之困擾。幾番搜索之后,找到了解決方案,希望該方案也能對大家有所幫助。
起因
相信很多開發者收集數據都會用到友盟、bugly之類的工具,筆者就在使用bugly時遇到了一個很棘手的問題:iOS9的系統下,會有一個頻發的崩潰,bugly上的描述為SEGV_ACCERR。
這個描述大都指對象提前釋放,然而堆棧信息也沒能提供特別有用的信息來幫助開發者定位該問題。筆者和測試小伙伴反復操作都很難找到必現步驟,逐步打斷點調試也無法找到提前釋放的對象。
本來想提高適配版本到iOS10,但是又無法拋棄那一群不會更新系統的小白用戶們。于是伴隨著漫天飛舞的柳絮,我陷入了沉思??
又一村?
抱著試一試的心態,反復換著關鍵詞查,終于。。。在stackoverflow上找到了一個支持量為2的解決方案。這個方案講到:該崩潰與項目中的圖片資源相關,具體是伽馬值為P3的圖片。
這個方案看著不太靠譜,但是能怎么辦,當然是選擇試一試咯,我也很絕望啊。
以下為該解決方案的翻譯:
cd path/Payload/xxx.app
find . -name 'Assets.car
使用assetutil命令找到任何包含著16-bit或者P3的資源文件。對上一步找出的每個Assets.car執行如下命令:
sudo xcrun --sdk iphoneos assetutil --info /path/Assets.car > /tmp/Assets.json
使用open命令打開第六步生成的Assets.json。命令為:
open /tmp/Assets.json
?以下為筆者的操作過程,大家可以對照使用:
Done??
使用以上方案,筆者找到了伽馬值為P3的圖片,并和設計小哥哥聯系修改了該資源。回測之后,奔潰問題已不再復現,如果該方案也幫助到你了,不妨點個贊吧。
下一周的主題還在構思中。。。記得常回來看看?
總結
以上是生活随笔為你收集整理的iOS9系统下SEGV_ACCERR问题的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML DOM全解和案例
- 下一篇: java信息管理系统总结_java实现科