美文网首页
iOS9系统下SEGV_ACCERR问题的解决方案

iOS9系统下SEGV_ACCERR问题的解决方案

作者: rayChow | 来源:发表于2020-12-30 18:26 被阅读0次

    用友盟、bugly之类的工具收集数据时,会遇到一个很棘手的问题:iOS9的系统下,会有一个频发的崩溃,bugly上的描述为SEGV_ACCERR。
    实际上该崩溃与项目中的图片资源相关,具体是伽马值为P3的图片。

    解决方案

    1. 打包app并导出ipa。
    2. 将导出的ipa文件后缀名改为.zip。
    3. 解压该zip文件,解压后有一个Payload文件夹,该文件夹中是你的app bundle。
    4. 打开终端,定位到该app bundle。命令如下:cd path/Payload/xxx.app
      或者直接cd 拖拽该app文件
    5. 使用find命令查找到Assets.car文件。命令为:find . -name 'Assets.car
    6. 使用assetutil命令找到任何包含着16-bit或者P3的资源文件。对上一步找出的每个Assets.car执行如下命令:sudo xcrun --sdk iphoneos assetutil --info /path/Assets.car > /tmp/Assets.json
    7. 第6步里面有两个路径,第一个路径/path/Assets.car不要照抄,替换为第五步中查找出的路径。
    8. 使用open命令打开第六步生成的Assets.json。命令为:open /tmp/Assets.json
    9. 打开的文件中查找P3字段,对应的Name字段即为该资源的名称,删除替换相应资源,或者修改文件格式即可。


      P3问题.jpg

    相关文章

      网友评论

          本文标题:iOS9系统下SEGV_ACCERR问题的解决方案

          本文链接:https://www.haomeiwen.com/subject/fgohoktx.html