美文网首页
一张图片导致的模拟器崩溃

一张图片导致的模拟器崩溃

作者: 宁静1致远 | 来源:发表于2017-07-11 14:40 被阅读0次

问题:

日志输出

malloc: *** error for object 0x6080000aa300: Invalid pointer dequeued from free list *** set a breakpoint in malloc_error_break to debug

crash 到main函数,打全局断点也定位不到具体位置,问题很奇怪,百度后找到一篇文章https://www.ianisme.com/ios/2409.html依据这篇文章我做了尝试并解决了这个bug

解决方法:
1、找到包

A533B6B1-8337-478B-B51F-3AAC64AC2131.png

鼠标右击,show in finder -->显示包内容-->找到Assets.car拷贝到桌面
2、打开终端,运行命令sudo xcrun --sdk iphoneos assetutil --info /Users/jn/Desktop/Assets.car > /Users/jn/Desktop/Assets.json

其中/Users/jn/Desktop/Assets.car是Assets.car的全路径,/Users/jn/Desktop/Assets.json是所有图片信息将要被导入到的一个全路径文件

3、打开Assets.json ,如果没有东西那就不是图片的错,请另找解决方法,如果有,找到所有的name字段,那个那么就是你错误的图片的名字。
4、在工程里找到上述图片,处理图片(要么删除,要么处理)

处理方案如下:
下面我们使用ColorSync实用工具将这个描述文件修改下

xcode8crash3
指派它的描述文件为sRGB IEC61966-2.1,保存。
xcode8crash4

json文件中显示的所有图片都处理一下就能运行了。

相关文章

网友评论

      本文标题:一张图片导致的模拟器崩溃

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