前言
在iOS应用的开发工作中,我们经常会用到一些开源的三方库或者一些三方服务,为了保证项目的稳定性,我们通常不会频繁的对项目中一些三方引用进行更新。一般情况下,只有在我们的项目中遇到一些由于三方依赖引起的问题时,我们才会尝试更新一下三方依赖去解决问题,但这也仅限于你能定位到这些问题是由三方依赖引发的。其实,为了保证这些三方依赖可能隐含的一些问题可以被及时被解决,你最好关注一下这些三方依赖每次更新解决的问题,及时做更新处理。
一、问题
我们的iOS应用在某个版本的线上crash问题分析中,突然发现友盟统计平台的crash统计信息中的UUID与我们备份的appstore包dSYM文件UUID不一致。这导致我们想要查找crash的堆栈具体信息时,变的比以往麻烦了很多,解决问题的效率大打折扣。
二、原因定位
1、现象分析
通过查看umeng统计到的crash信息,我们发现同一个线上包有两种crash错误信息。
第一种:
dSYM UUID: AAC5A273-C820-33E8-8CC4-249CE20C4999
CPU Type: arm64
Slide Address: 0x0000000000000000
Binary Image: libswiftUIKit.dylib
Base Address: 0x00000001028cc000
第二种:
dSYM UUID: 8C32F38E-8CFE-3EFD-B9EA-27BC98AA1E43
CPU Type: arm64
Slide Address: 0x0000000100000000
Binary Image: