RN:记一次IOS release 闪退问题的排查

RN:debug包一切正常,打了release包就闪退。
在这里插入图片描述
在这里插入图片描述
Xcode 如图方式 选择release 包打到手机上,然后启动APP。
然后在控制台上就会打印出很多相关内容。根据对应内容排查问题。
PS:我的由于RN和原生产生交互就会闪退,是因为重复导入React.a 文件了,但是Debug不报这个错误。
第二种排查问题的方式。
参考链接:
https://www.cnblogs.com/jingxin1992/p/12342168.html
下面内容是从这个链接复制过来的。

在开发过程中往往会遇见有个别用户或者测试人员反馈app的闪退现象,而项目一般集成的统计闪退的第三方库是笼统的统计了所有的闪退信息,无法去定位某一个用户提出的某一个时间点的某一个闪退问题,于是乎这个时候需要我们能快速的去获取指定用户提出的指定闪退,并能够解析闪退日志,快速的定位到问题。下面将自己的做法大概的做个总结(可能还有别的方法,但是我觉得下面讲述的方法已经足够了)。

一、收集闪退日志

先和用户确定iPhone是否打开如下设置(以iOS12.0的iPhone为参考):

设置->隐私->分析->共享iPhone分析->与应用开发者共享

只有打开了上述设置闪退日志才会被收集,然后进入设置->隐私->分析->分析数据,找到以自己项目开头拼接出现闪退大致时间点文件名的ips文件。

在这里插入图片描述

二、解析闪退日志

1.如果还能找到用户反馈有问题的app 当时打包时相对应的项目源码,那么就很简单了

获取到的.ips文件双击打开是没有解析的日志,现在需要修改后缀名为.crash,然后双击打开出现下面的弹窗

在这里插入图片描述

可以选中当时打包的项目,预览并且打开,这时候你会发现打开后的项目会显示闪退的地方。
在这里插入图片描述

没错,就是这么简单。不过前提条件是你还有当时打包的项目源码,不然要是用当前闪退所在文件改动过的源码,定位的位置是不对的。

2.不能找到打包时的项目源码,但是可以找到当时打包的dSYM文件

具体步骤:

1.首先在桌面新建一个文件夹crashFile,用于存放解析闪退日志用到的文件。

2.找到前面获取到的.ips文件,拷贝.ips文件放到crashFile中

3.获取symbolicatecrash文件。

找到当时打包所用的xcode(可能笔记本安装了好几个Xcode),然后进入下面的路径:/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

拷贝symbolicatecrash工具拷贝到crashFile中

4.获取dSYM文件

从当时打包的xcode->Window->Organizer->Archives找到当时的xcarchive文件,选中xcarchive文件右键点击【显示包内容】,拷贝dSYMs文件下的.dSYM文件,放到crashFile中。

至此,crashFile文件中总共有3个文件:.ips文件、symbolicatecrash工具、.dSYM文件。

在这里插入图片描述

  1. 打开终端,cd到crashFile文件夹中

  2. 输入命令

./symbolicatecrash Agent-2020-02-21-124913.ips Agent.app.dSYM > crash.log
这时候会发现crashFile文件夹下多了个crash.log文件

在这里插入图片描述

双击打开crash.log文件,你会发现崩溃信息已经成功解析

好了,大功告成!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值