iOS App集成谷歌相关Pods后出现GAIDataStore等崩溃如何修复
崩溃问题解决方案
根因说明
该崩溃由两个核心问题触发:
- Xcode 13.1存在已知的链接器bug,和8.10.0版本以下的Firebase系列库、旧版谷歌服务依赖存在兼容冲突
- 崩溃日志中出现的
GAIDataStore、GAICoreDataUtil是已经废弃的Universal Analytics(UA) SDK相关类,存在多线程操作Core Data的固有崩溃问题,新版Firebase Analytics已经切换为GA4 SDK,不再包含这部分实现
解决步骤
- 第一步:更新本地Pod仓库,升级所有谷歌&Firebase相关依赖到最新兼容版本
先在Podfile所在目录执行以下命令:
升级完成后确认Firebase所有组件版本不低于8.10.0,该版本是官方明确支持Xcode 13.1的最低版本pod repo update pod update GoogleTagManager Google-Mobile-Ads-SDK GoogleIDFASupport GoogleSignIn Firebase - 第二步:验证GA相关崩溃是否消除
升级完成后GAIDataStore相关类会被新版Firebase Analytics的GA4实现替代,原有Core Data线程冲突的崩溃会直接修复。如果项目中还有手动调用旧UA SDK的代码,需要全部删除改为GA4的对应接口 - 第三步:修复Firebase Performance相关崩溃
如果升级后仍有FPRSelectorInstrumentor相关崩溃,可在项目的Info.plist中添加配置临时禁用性能监控的字节码注入逻辑,待后续版本修复后再开启:
添加键FirebasePerformanceInstrumentationEnabled,类型为Boolean,值设为NO
若不需要性能监控能力,也可以直接移除pod 'Firebase/Performance'依赖彻底消除该类崩溃 - 第四步:清理Xcode缓存后重新编译
执行以下操作清理残留缓存避免异常:- 打开Xcode按
Cmd + Shift + K清理项目 - 进入~/Library/Developer/Xcode/DerivedData目录删除当前项目对应的缓存文件夹
- 重新编译运行项目验证崩溃是否修复
- 打开Xcode按
内容的提问来源于stack exchange,提问作者Wasim Akram
相关产品推荐
相关产品推荐

