IOS 发布之前 发布之后,测试以及用户在使用的时候难免出现crash。这里就和大家聊一聊,crash的一些问题。
如何根据Crash定位代码?
定位crash之前我们需要三个文件:xx.crash xx.app xx.dSYM
xx.Crash 文件:
将真机连接在Mac上,同步手机到电脑上,crash文件在:
Mac OS X:~/Library/Logs/CrashReporter/MobileDevice
xx.app 文件:下面看看 app文件,打开Xcode:Xcode的product文件夹下就是app文件。当然还有可能我们拿到的是打包之后的ipa文件:吧这个文件后缀名改为zip,解压之后Payload 文件夹下就是app文件。
xx.dSYM:
如果在Xcode打包的时候生成中间文件xcarchive,这里也有这个文件。如果不在这里找,也可以在xcode的app目录下:
OK 到这一步我们三个文件都准备好了,吧他们放在同一个目录下:
cd到这个目录,因为我用的是xcode6.0以上的版本,所以有一个sh文件的目录改变了位置:
/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash xxx.crash xxx.app ->xxx.log
好了log文件就是crash的映射表:我们对比下:
可以很清晰的看到 地址错误的地方 对应的 方法 以及哪一行。太方便了。