无位码
这是一个 GIF 图片,它展示了如何获取 DSYMS,压缩并上传到 Crashlytics/Fabric。
启用位码
你需要从 App Store Connect 下载 dsyms。最简单的方法是使用 fastlane 工具。
lane :refresh_dsyms do
download_dsyms # Download dSYM files from App Store Connect
upload_symbols_to_crashlytics # Optional for uploading to Crashlytics
end
zip -r SymbolFiles.zip *.dSYM
。 - Andrew Schreiber我认为@Jordan是正确的——似乎iTunes Connect正在使用位码重新编译应用程序,以便UUID发生更改,并且.xcarchive中的dSYM实际上无法用于符号化应用程序(这似乎是一个新进展)。
您可以从iTunes Connect下载正确的dSYM。登录后,转到“我的应用程序”,选择您的应用程序,然后点击顶部的“活动”选项卡。点击相关版本,假设该应用程序一开始就是带有符号的,则应该会看到“下载dSYM”的选项。
您获得的文件名为dSYMs(没有扩展名),但实际上它是一个zip文件。添加.zip扩展名,解压缩,然后您会找到其中的dSYM。
(本周我需要这样做,因为Crashlytics抱怨缺少dSYM。)
实际上,现在不能从iTunesConnect下载dSYM文件。有另一种方法可以获取该文件。
Xcode -> 窗口 -> 组织器(Organizer) -> 在Finder中显示xcarchive文件 -> 右键单击您的xcarchive文件 -> 选择“显示包内容”
现在您可以看到您的dSYM文件了。
如果您想从iTunesConnect获取您的dSYM
启用Bitcode
> 是归档
从存档中导出时
使用应用程序加载器上传
一旦您的应用程序已成功上传到iTunesConnect,您可以转到iTunesConnect.com > MyApps > [YOUR APP] > Activity > All Builds > [YOUR BUILD] > General Information > Includes Symbols > 下载dSYM
#xcode8.2.1 #osx10.12.6
“Crashlytics报告缺少UUID的dSYMs,格式如下:83889b11dedd363c8e5ee56233bcc90c。正如我所说,我遵循了指南7,但是我找不到那个UUID。所以我进入iTunesConnect并执行以下操作:
下载的文件名为dSYM没有扩展名,但实际上是一个zip文件。因此,我添加了zip扩展名并解压缩了它。在未压缩的文件夹中,我找到了许多dSYM文件,其中一个称为83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM,与Crashlytics报告缺失的UUID(即使格式不同)相匹配。请注意,此文件不在xcarchive中。
希望这可以帮到你!"
在我的情况下,它像魔法一样起作用。
在我的情况下,我无法在归档文件夹中找到我的应用程序的dSYM文件。如果你也遇到了这个问题,请前往你的项目构建设置 > 构建选项 > 调试信息格式,并确保它被设置为DWARF with dSYM file。
根据最新更新,您无需手动上传dSYM文件,自动上传将通过以下过程完成。
第一步:前往目标->构建设置->搜索“调试信息格式”。将所有构建类型的调试信息格式设置为DWARF with dSYM File。
第二步:前往Build Phases->展开Run Script并添加脚本和输入文件
在脚本中:
"${PODS_ROOT}/FirebaseCrashlytics/run"
在输入文件中:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
示例截图:
步骤3: 最后添加一个脚本来上传 dSYM 文件
${PODS_ROOT}/FirebaseCrashlytics/upload-symbols -gsp
${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
在脚本的第二行${PROJECT_DIR}/Your_path/GoogleService-Info.plist -p ios中,用你的项目路径替换“Your_path”,意思是你的应用程序模式名称。
如果在运行应用程序时出现错误,请参考我的答案Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code
错误:
Command PhaseScriptExecution failed with a nonzero exit code