iOS开发之Fabric操作使用
iOS运用fabric记录crash日志过程先前运用友盟记录app闪退,发现有些闪退的记录无法明确定位到详细的位置,决定运用fabric进行闪退的记录;网上也有这方面的记录,有些细节的内容不明确,把今天碰到的坑整理记发不一下;
访问官网地址(进行注册账号):
https://fabric.io
下载客户端地址:
https://fabric.io/downloads
1:注册成功后,并把客户端软件下载后,就可以登录客户端进行操作,选择要增加的工程文件



2:运用客户端,生成脚本


因为这边是直接采用把fabric框架直接拉进到项目中,所以生成的脚本为这种样式,若是采用Pod引入,其脚本会不一样;脚本的引入都会在项目的Info.Plist产生一个配置采单;

3:把脚本复制到XCode项目的相关地方



注意:当有一个项目多个targets时,要对每个targets进行run Script设置,确保每个targets里面的info.plist文件有生成相应的配置,否则运行会报错;
>>部分Xcode在Build Phases没有Run Script,请按照以下方式插入

4:引入相应的框架文件,直接从客户端拉到项目中



注意:除了直接把fabric拉进项目引用,还可以用POD进行管理插件,只是其脚本的内容格式不一样;
5:在项目中引入文件,并初始化框架,注册并特意编写错误的代码



** 6:根据客户端提示运行最后一步,点Done回去,等待程序发布**


7:回到XCODE的项目中,对项目进行发布


注意:选择Release,然后进行Archive;
8:当Archive成功发布以后,客户端会有提示,是否要进行dsym的上传





注意:选择Distribute,进入下一个页面,此处可以输入接受通知的邮件地址,可以是多人接收,然后下一步提示语输入,然后开始进行上传dysm文件;
9:成功运行以后就可以查看错误的信息


注意:其实fabric的原理还是把发布后的dsym上传后对它进行定位,显示出错误的位置;如果不用客户端这种上传,也可以中完成到脚本的加入后,把发布生成的dysm压缩成包进行上传;后官网对应的项目进行操作,如下图:




所以发布时dysm对于后期定位错误很重要,一定记得保存下来;
本文根据前人提供内容进行了编辑和完善,再次感谢以下出处和作者:
http://www.myexception.cn/operating-system/2048993.html
http://kf.tutusoso.com/kf_mobile/article/17_22198_16767.asp