无法完成dSYM的提交,文件在(null)处不再存在



我已经将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}"

它必须是最后一个执行

如果这不起作用,试试这个:

  1. 评论您的DSYM脚本,然后存档您的应用程序
  2. 您的归档应该会成功完成
  3. 取消对DSYM脚本的注释,并将其放在底部列表中。(请参阅下面的正确顺序(
  4. 建立一个新的存档

正确顺序:

  1. 运行firebaseCrashlytics脚本
  2. 运行[CP]嵌入式pods框架
  3. 运行DSYM脚本

注意:在某些情况下,包含一些空格的路径(如"支持文件"(可能会导致意外行为

最新更新