我已经将Fabric迁移到Firebase/Crashlytics,我在iOS项目中的运行脚本出现了以下构建错误
构建阶段-运行脚本
# Name of the resource we're selectively copying
GOOGLESERVICE_INFO_LOCATION=${PROJECT_DIR}/${TARGET_NAME}/App/Scripts/GoogleService-Info.plist
# Upload sysmbol
echo "Uploading dsym file"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp ${GOOGLESERVICE_INFO_LOCATION} -p ios ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
生成错误
[31merror:无法在/Users/me/Library/Developer/Xcode/DerivedData/Project cmkidnrcwbunsqezgsrutqkmnivn/Build/Inmediates.noindex/ArchiveIntermediates/Project/BuildProductsPath/ReleaseOfficial-iphoneos/Project.app.dSYM:错误域=com.crashlytics.mac.Error-Domain.prrocess-dSYM代码=2"文件不再存在于(null("用户信息"={NSLocalizedFailureReason=文件不再存在于(null(}
解决方案中建议的对我不起作用。
如何解决
我最近买了一台新Mac,也遇到了同样的问题。
在尝试了很多不同的事情都没有成功之后,我发现了问题所在。我所要做的就是将上传的DSYM脚本移到构建阶段脚本列表的底部。
我们讨论这个脚本:
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/YourPathToYourGoogleServiceFile/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
它必须是最后一个执行
如果这不起作用,试试这个:
- 评论您的DSYM脚本,然后存档您的应用程序
- 您的归档应该会成功完成
- 取消对DSYM脚本的注释,并将其放在底部列表中。(请参阅下面的正确顺序(
- 建立一个新的存档
正确顺序:
- 运行firebaseCrashlytics脚本
- 运行[CP]嵌入式pods框架
- 运行DSYM脚本
注意:在某些情况下,包含一些空格的路径(如"支持文件"(可能会导致意外行为