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

Saz*_*han 10 xcode ios firebase crashlytics firebase-crash-reporting

我已将 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}
Run Code Online (Sandbox Code Playgroud)

构建错误

[31m 错误:无法在 /Users/me/Library/Developer/Xcode/DerivedData/Project-cmkidnrcwbunsqezgsrutqkmnivn/Build/Intermediates.noindex/ArchiveIntermediates/Project/BuildProductsPath/ReleaseOfficial-iphoneos/Project.app.dSYM 处完成 dSYM 的提交:错误Domain=com.crashlytics.mac.error-domain.process-dsym 代码=2“文件不再存在于(空)” UserInfo={NSLocalizedFailureReason=文件不再存在于(空)}

解决方案中的建议对我不起作用。

如何解决?

DDe*_*rge 8

我最近买了一台新 Mac 并遇到了同样的问题。

在尝试了很多不同的事情但没有成功之后,我发现了问题所在。我所要做的就是将我的上传 DSYM 脚本移到构建阶段脚本列表的底部。

我们谈论这个脚本:

"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/YourPathToYourGoogleServiceFile/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Run Code Online (Sandbox Code Playgroud)

它必须是最后一个执行的

如果这不起作用,请尝试以下操作:

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

正确的顺序 :

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

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

  • 正确的脚本顺序对我有用... 1.运行 2.pod 3.dSYM (3认同)
  • 当“pod deintegrate”然后“pod install”时会发生这种情况。会发生顺序错误的情况。改变它就能解决问题。 (2认同)