如何上传用Flutter开发的dsyms文件?
How to upload dsyms files which developed with Flutter?
我正在开发一款支持 flutter 的跨平台应用程序。我为崩溃报告集成了 firebase Crashlytics。在我需要检查报告之前,出现一条错误消息
Upload 1 missing dSYM required to process 4 crashes
为此,我尝试了 firebase 文档
Get deobfuscated crash reports
另外,我按照步骤构建 iOS Archive with flutter
Preparing an iOS App for Release
不过,在 firebase 门户网站上也存在同样的问题
Upload 1 missing dSYM required to process 4 crashes
我试了很多次了,还是没做。
如果有人有想法,请帮我解决这个问题。
感谢社区
在准备发布我的应用程序时,我采取了以下步骤来导出、上传和获取 dSYM:
- 在航站楼 I 运行 'flutter build ios --release'
- 打开xCode中的iOS项目,将设备切换到'Generic iOS Device'
- 从顶部菜单产品>存档
- 完成后,管理器 window 将显示您的存档构建。您也可以从 Window>Organizer
手动打开此 window
- 选择要上传到 iTunes Connect 的版本并点击分发应用程序并按照流程进行操作
- 上传完成后,右键单击管理器中的构建 window,然后单击 'Show in Finder'
- 您应该会在 finder 中看到一个存档文件,右键单击它并单击 'Show Package Contents'。
- 里面应该有一个叫做dSYM的文件夹,你可以压缩并发送到任何你需要的地方
您可以使用 Fastlane
将此作为发布过程的一部分自动执行。
这是一个可以进入您的 Fastfile
的示例
platform :ios do
desc "Upload symbols to Crashlytics"
lane :toCrashlytics do
upload_symbols_to_crashlytics
end
end
那你就可以运行fastlane ios toCrashlytics
到运行了。
有关详细信息,请参阅 this link。
为您的 Flutter 应用构建存档(使用 Xcode)后,您可以 运行 从您的 Flutter 应用的 ios
目录(使用 Firebase 的上传工具)执行以下命令:
Pods/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios build/Runner.xcarchive/dSYMs
更改上述命令行以指向正确的 Firebase plist 文件。 -p
标志指定平台(可以是 ios
、mac
或 tvos
)。上面的命令还会查找 App 的存档文件 Runner.xcarchive
.
让您的 Xcode 在您 run/build 您的应用程序时自动上传它。
我。打开 Xcode > 目标 > MyProjectName > 构建阶段
添加两个脚本(使用 + 号),每个脚本都包含这些
"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/MyProjectName/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Important: Make sure to replace MyProjectName
with your project name but leave rest as it is.
二.还要确保在 Targets > MyProjectName > Build settings
中检查这些选项
将调试信息格式设置为带有dSYM文件的DWARF
三。视觉效果
目前,推荐的方法是添加一个 运行 脚本阶段,在每次构建时将 dSYM 上传到 Crashlytics。
- 来自Xcode,select 运行来自项目导航。
- Select Build Phases 选项卡,然后单击 + > New 运行 Script Phase。
- 将以下内容添加到 Shell 属性 下方的键入脚本... 文本框:
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase --validate -ai <googleAppId>
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai <googleAppId>
从您生成的 DefaultFirebaseOptions 文件 (appId) 或从 Firebase 控制台 -> 项目设置 -> 您的应用中检索您的 <googleAppId>
。
取自here
我正在开发一款支持 flutter 的跨平台应用程序。我为崩溃报告集成了 firebase Crashlytics。在我需要检查报告之前,出现一条错误消息
Upload 1 missing dSYM required to process 4 crashes
为此,我尝试了 firebase 文档
Get deobfuscated crash reports
另外,我按照步骤构建 iOS Archive with flutter
Preparing an iOS App for Release
不过,在 firebase 门户网站上也存在同样的问题
Upload 1 missing dSYM required to process 4 crashes
我试了很多次了,还是没做。
如果有人有想法,请帮我解决这个问题。
感谢社区
在准备发布我的应用程序时,我采取了以下步骤来导出、上传和获取 dSYM:
- 在航站楼 I 运行 'flutter build ios --release'
- 打开xCode中的iOS项目,将设备切换到'Generic iOS Device'
- 从顶部菜单产品>存档
- 完成后,管理器 window 将显示您的存档构建。您也可以从 Window>Organizer 手动打开此 window
- 选择要上传到 iTunes Connect 的版本并点击分发应用程序并按照流程进行操作
- 上传完成后,右键单击管理器中的构建 window,然后单击 'Show in Finder'
- 您应该会在 finder 中看到一个存档文件,右键单击它并单击 'Show Package Contents'。
- 里面应该有一个叫做dSYM的文件夹,你可以压缩并发送到任何你需要的地方
您可以使用 Fastlane
将此作为发布过程的一部分自动执行。
这是一个可以进入您的 Fastfile
platform :ios do
desc "Upload symbols to Crashlytics"
lane :toCrashlytics do
upload_symbols_to_crashlytics
end
end
那你就可以运行fastlane ios toCrashlytics
到运行了。
有关详细信息,请参阅 this link。
为您的 Flutter 应用构建存档(使用 Xcode)后,您可以 运行 从您的 Flutter 应用的 ios
目录(使用 Firebase 的上传工具)执行以下命令:
Pods/FirebaseCrashlytics/upload-symbols -gsp /path/to/GoogleService-Info.plist -p ios build/Runner.xcarchive/dSYMs
更改上述命令行以指向正确的 Firebase plist 文件。 -p
标志指定平台(可以是 ios
、mac
或 tvos
)。上面的命令还会查找 App 的存档文件 Runner.xcarchive
.
让您的 Xcode 在您 run/build 您的应用程序时自动上传它。
我。打开 Xcode > 目标 > MyProjectName > 构建阶段
添加两个脚本(使用 + 号),每个脚本都包含这些
"${PODS_ROOT}/FirebaseCrashlytics/run"
"${PODS_ROOT}/FirebaseCrashlytics/upload-symbols" -gsp "${PROJECT_DIR}/MyProjectName/GoogleService-Info.plist" -p ios "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
Important: Make sure to replace
MyProjectName
with your project name but leave rest as it is.
二.还要确保在 Targets > MyProjectName > Build settings
中检查这些选项将调试信息格式设置为带有dSYM文件的DWARF
三。视觉效果
目前,推荐的方法是添加一个 运行 脚本阶段,在每次构建时将 dSYM 上传到 Crashlytics。
- 来自Xcode,select 运行来自项目导航。
- Select Build Phases 选项卡,然后单击 + > New 运行 Script Phase。
- 将以下内容添加到 Shell 属性 下方的键入脚本... 文本框:
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase --validate -ai <googleAppId>
$PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai <googleAppId>
从您生成的 DefaultFirebaseOptions 文件 (appId) 或从 Firebase 控制台 -> 项目设置 -> 您的应用中检索您的 <googleAppId>
。
取自here