好久不寫博客,稍有生疏,感謝一直以來你們的支持。最近我又回到了本身的老本行——
iOS開發
。以後的博客應該大部分是iOS相關了,固然,我也會持續關注前端的技術,也歡迎朋友們來捧場哦😸😸😸
今天要講的是開發過程當中遇到的一個小問題,看到網上也有不少人爲之困擾。幾番搜索以後,找到了解決方案,但願該方案也能對你們有所幫助。前端
相信不少開發者收集數據都會用到友盟、bugly之類的工具,筆者就在使用bugly時遇到了一個很棘手的問題:iOS9的系統下,會有一個頻發的崩潰,bugly上的描述爲SEGV_ACCERR
。json
這個描述大都指對象提早釋放,然而堆棧信息也沒能提供特別有用的信息來幫助開發者定位該問題。筆者和測試小夥伴反覆操做都很難找到必現步驟,逐步打斷點調試也沒法找到提早釋放的對象。app
原本想提升適配版本到iOS10,可是又沒法拋棄那一羣不會更新系統的小白用戶們。因而伴隨着漫天飛舞的柳絮,我陷入了沉思😔😔iphone
抱着試一試的心態,反覆換着關鍵詞查,終於。。。在stackoverflow上找到了一個支持量爲2
的解決方案。這個方案講到:該崩潰與項目中的圖片資源相關,具體是伽馬值爲P3的圖片。工具
這個方案看着不太靠譜,可是能怎麼辦,固然是選擇試一試咯,我也很絕望啊。測試
如下爲該解決方案的翻譯:spa
ipa
。.zip
。Payload
文件夾,該文件夾中是你的app bundle
。app bundle
。命令以下:cd path/Payload/xxx.app
Assets.car
文件。命令爲:find . -name 'Assets.car
使用assetutil命令找到任何包含着16-bit或者P3的資源文件。對上一步找出的每一個Assets.car
執行以下命令:sudo xcrun --sdk iphoneos assetutil --info /path/Assets.car > /tmp/Assets.json
翻譯
第6步裏面有兩個路徑,第一個路徑
/path/Assets.car
不要照抄,替換爲第五步中查找出的路徑。
使用open命令打開第六步生成的Assets.json。命令爲:open /tmp/Assets.json
設計
在第7步打開的文件中查找P3
字段,對應的Name
字段即爲該資源的名稱,刪除相應資源,或者修改文件格式便可。
😛如下爲筆者的操做過程,你們能夠對照使用:調試
使用以上方案,筆者找到了伽馬值爲P3的圖片,並和設計小哥哥聯繫修改了該資源。回測以後,奔潰問題已再也不復現,若是該方案也幫助到你了,不妨點個贊吧。
下一週的主題還在構思中。。。記得常回來看看👋