很久不写博客,稍有生疏,感谢一直以来大家的支持。最近我又回到了自己的老本行——iOS开发。之后的博客应该大部分是iOS相关了,当然,我也会持续关注前端的技术,也欢迎朋友们来捧场哦???

今天要讲的是开发过程中遇到的一个小问题,看到网上也有很多人为之困扰。几番搜索之后,找到了解决方案,希望该方案也能对大家有所帮助。

起因

相信很多开发者收集数据都会用到友盟、bugly之类的工具,笔者就在使用bugly时遇到了一个很棘手的问题:iOS9的系统下,会有一个频发的崩溃,bugly上的描述为SEGV_ACCERR

这个描述大都指对象提前释放,然而堆栈信息也没能提供特别有用的信息来帮助开发者定位该问题。笔者和测试小伙伴反复操作都很难找到必现步骤,逐步打断点调试也无法找到提前释放的对象。

本来想提高适配版本到iOS10,但是又无法抛弃那一群不会更新系统的小白用户们。于是伴随着漫天飞舞的柳絮,我陷入了沉思??

又一村?

抱着试一试的心态,反复换着关键词查,终于。。。在stackoverflow上找到了一个支持量为2的解决方案。这个方案讲到:该崩溃与项目中的图片资源相关,具体是伽马值为P3的图片。

这个方案看着不太靠谱,但是能怎么办,当然是选择试一试咯,我也很绝望啊。

以下为该解决方案的翻译:

  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/Assets.car > /tmp/Assets.json

    第6步里面有两个路径,第一个路径/path/Assets.car不要照抄,替换为第五步中查找出的路径。

  7. 使用open命令打开第六步生成的Assets.json。命令为:
    open /tmp/Assets.json

    在第7步打开的文件中查找P3字段,对应的Name字段即为该资源的名称,删除相应资源,或者修改文件格式即可。

?以下为笔者的操作过程,大家可以对照使用:

Done✌️

使用以上方案,笔者找到了伽马值为P3的图片,并和设计小哥哥联系修改了该资源。回测之后,奔溃问题已不再复现,如果该方案也帮助到你了,不妨点个赞吧。

下一周的主题还在构思中。。。记得常回来看看?

iOS9系统下SEGV_ACCERR问题的解决方案相关推荐

  1. win10系统下任务管理器无法启动解决方案

    win10系统电脑使用过程中,可能因为误删或者在删除某些流氓软件时自动将注册表里面任务管理器的启动值修改了.在网上搜了一下"如何解决电脑没有任务管理器"类似方案,都比较复杂,且不够 ...

  2. 物联网系统下的农村污水处理解决方案

    近年来,农村污水治理越来越受到人们的关注,科学合理的对分布式农村污水进行处理,实现污水的净化排放,不仅可以改善周边居民的生活用水环境,而且可以提升地区形象和招商优势,因此很多高新技术都被运用在农村污水 ...

  3. Ios9 html5,ios9,html5_ios9下在浏览器中通过scheme打开app的问题,ios9,html5 - phpStudy

    ios9下在浏览器中通过scheme打开app的问题 ios9系统下,safari下通过iframe(scheme)的方式跳app,无法打开app,通过location.href=scheme的方式倒 ...

  4. 点计算机没有本地磁盘,快速解决WinPE系统下没有本地磁盘的方法

    最近,有不少朋友表示,进入WinPE系统后打开我的电脑,找不到本地磁盘,怎么办?PE系统下识别不了硬盘还是被隐藏了?今天U大侠小编跟大家一起讨论WinPE系统里面找不到硬盘的解决方案! WinPE系统 ...

  5. Win10系统下软件UI显示不完整解决方案

    Win10系统下软件UI显示不完整解决方案 参考文章: (1)Win10系统下软件UI显示不完整解决方案 (2)https://www.cnblogs.com/wxjnew/p/5079726.htm ...

  6. ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案

    ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案 参考文章: (1)ubuntu系统下用kazam软件录制的视频不能在windows系统下播放的解决方案 (2)ht ...

  7. Linux系统下文件字体乱码的解决方案

    在Linux系统下经常会遇到从网上下载的文件,打开是乱码的情况,尤其是含有中文字符的txt文件或者是一些后缀为 .srt..ass的字幕文件,其原因大多是因为这些文件的编码格式为gb18030编码格式 ...

  8. 在Win7系统下, 使用VS2015 打开带有日文注释程序出现乱码的解决方案

    在Win7系统下, 使用VS2015 打开带有日文注释程序出现乱码的解决方案 参考文章: (1)在Win7系统下, 使用VS2015 打开带有日文注释程序出现乱码的解决方案 (2)https://ww ...

  9. Win10系统下面的TR1008解决方案

    Win10系统下面的TR1008解决方案 最近为了体验高大上的Win10系统,于是就把本本原来的Win7旗舰版 升级 到了Win10专业版.之后又在本本上部署了cognos,但是在打开Transfor ...

最新文章

  1. Android <java.lang.ClassNotFoundException:Didn‘t find class ‘XXX‘ on path:DexPathList> 解决
  2. python语音播报-使用pyttsx3实现python语音播报
  3. EEPROM存储器--AT24CXX
  4. JZOJ 3852. 【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
  5. 2014-03-09 Spring的学习(1)------Spring管理Bean(实例化Bean)
  6. Canvas制作动态进度加载水球
  7. about window.onload
  8. mysql字段分隔符拆分_面试题Mysql数据库优化之垂直分表
  9. tomcat路径配置详解
  10. 设计模式笔记二十一:状态模式
  11. 大学计算机vfp最新考试题库,大学计算机vfp考试选择题题库.doc
  12. Photoshop 入门教程,处理图层「4」如何向多图层图像中添加更多图像?
  13. h2事务与mysql_H2数据库事务提交失败
  14. Atitit node.js的缺点 优缺点 和php比较 1. 门槛比较 php简单,node麻烦 1 1.1. php的优势是语法简单易学,学习曲线平滑度可能居所有语言之首 2 1.2. 当用N
  15. 安装libgl1-mesa-dri:i386重启后黑屏问题解决
  16. Linux 线程———详解
  17. npm出现UNMET DEPENDENCY的一种情况
  18. 基于SSM实现的艺术品鉴定管理系统+App
  19. 联通物联卡哪里可以购买 哪家好
  20. java项目报错405_405报错是什么原因_状态码405是什么错误

热门文章

  1. mysql delete删除列,在MySQL中删除我的Key列 (Delete my Key column in MySQL)
  2. 矩形变弧度角_在上海做下颌角整形这些医生错过后悔都来不及,案例分享
  3. 自定义控件:侧拉删除
  4. ViewPager刷新问题详解
  5. RxJava 教程第一部分:入门之 关键的类
  6. 论文目录用word怎么自动生成或插入?
  7. python从入门到精通学习笔记_Python从入门到精通之基础概念
  8. iis7+php_5.5,IIS7+php5.5+fastcgi
  9. Python基础数据类型之字符串(二)
  10. Shell+Linux命令实现日志分析