iOS端Crashlytics沙箱file-read-data错误原因及修复咨询
问题分析与修复建议
错误原因
这是macOS隐私沙箱机制拦截了bash脚本读取FirebaseCrashlytics的run文件权限导致的。Firebase Crashlytics的构建过程依赖这个run脚本完成符号上传等核心操作,但当前环境下沙箱规则限制了脚本对该文件的读取权限,直接触发了构建报错。
近期出现的缘由
- Xcode 15.4收紧了构建过程的沙箱权限管控,对脚本的文件访问限制比之前版本更严格,之前的宽松策略不会触发这个拦截
- Firebase 10.27.0的静态集成适配存在疏漏,静态链接模式下,Crashlytics脚本的路径或权限配置没有跟上Xcode15.4的新规则
- CocoaPods在静态集成时的脚本注入逻辑,未正确给
run文件配置可访问权限,导致沙箱判定其访问行为违规
修复建议
- 给
run文件添加可执行权限:打开终端,进入项目的Pods/FirebaseCrashlytics目录,执行命令:chmod +x run - 调整构建脚本配置:在Xcode的Target设置中,找到
Build Phases下的Upload Debug Symbols to Firebase脚本,将脚本内容修改为bash -l "${PODS_ROOT}/FirebaseCrashlytics/run",确保脚本以正确的环境和路径执行 - 降级或等待适配更新:如果不需要Xcode15.4的新特性,可以暂时降级到Xcode15.3;或者等待Firebase官方发布适配Xcode15.4的版本
- 重新安装依赖:执行
pod deintegrate清理现有依赖,再运行pod install重新安装,刷新CocoaPods的脚本配置
内容的提问来源于stack exchange,提问作者Daniele B
相关产品推荐
相关产品推荐

