119

我想从中提取 dSYM 文件,但是当我在管理器中单击“下载 dSYM...”时,我收到以下消息:“没有可供下载的 dSYM。”。

我将 Xcode 7.2 与 Cocoapods 0.39 生成的工作区一起使用。

我怎样才能得到它们?

在此处输入图像描述

4

8 回答 8

259

非位码

这是一个关于如何获取 DSYMS、压缩和上传到 crashlytics/fabric 的 GIF

在此处输入图像描述

  1. 按窗口 > 管理器
  2. 右键单击您的应用 > 在 Finder 中显示
  3. 右键单击第一个 .xcarchive 文件 > 显示包内容

启用位码

您需要从 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
于 2016-09-07T05:14:46.797 回答
47

我认为@Jordan 是正确的——似乎 iTunes Connect 正在使用位码重新编译应用程序,以便 UUID 发生变化,并且 .xcarchive 中的 dSYM 实际上不能用于符号化应用程序(这似乎是一个新的发展) .

您可以从 iTunes Connect 下载正确的 dSYM。登录,转到我的应用程序,选择您的应用程序,然后点击顶部的活动选项卡。点击相关版本,假设应用程序首先提交了符号,您应该会看到“下载 dSYM”选项。

您获得的文件称为 dSYMs(没有扩展名),但它实际上是一个 zip 文件。添加 .zip 扩展名,解压缩,您会在其中找到您的 dSYM。

(这周我需要这样做,因为 Crashlytics 抱怨缺少 dSYM。)

于 2016-02-13T00:09:35.990 回答
22

实际上你现在不能从 iTunesConnect 下载 dSYM 文件。还有另一种获取该文件的方法。

Xcode -> 窗口 -> 管理器 -> 在 Finder 中显示 xcarchive 文件 -> 右键单击​​您的 xcarchive 文件 -> 选择“显示包内容”

您现在可以看到您的 dSYM 文件。

于 2016-09-01T03:35:30.953 回答
21

必须启用位码

如果你想dSYM从 iTunesConnect获取你的

  • 构建设置 > 构建选项 > Enable Bitcode>
  • 选择设备“通用 iOS 设备”(或任何有效的设备)
  • Archive

从存档导出时

  • CHECK包括应用程序符号,以便您的应用程序接收来自 Apple 的符号化崩溃日志
  • 检查包括位码

使用应用程序加载器上传

将您的应用成功上传到 iTunesConnect 后,您可以转到 iTunesConnect.com > MyApps > [YOUR APP] > Activity > All Builds > [YOUR BUILD] > General Information > Includes Symbols > Download dSYM

#xcode8.2.1 #osx10.12.6

于 2017-09-14T14:04:08.493 回答
10

我从https://twittercommunity.com/t/not-matching-uuid-bitcode/61000/2找到了一个解决方案

“Crashlytics 报告丢失的 dSYM 的 UUID 如下所示:83889b11dedd363c8e5ee56233bcc90c。正如我所说,我按照指南 7 但我找不到 UUID。所以我进入了 iTunesConnect 并执行了以下操作:

  • 选择应用程序
  • 选择顶部的活动选项卡
  • 选择 Crashlytics 抱怨的构建版本
  • 单击下载 dSYM 蓝色链接

下载的文件名为 dSYM,没有扩展名,但实际上是一个 zip。所以我添加了zip扩展并解压缩它。在解压后的文件夹中,我发现了许多 dSYM 文件,其中一个名为 83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM 的文件与 UUID Crashlytics 匹配报告为丢失(即使格式不同)。另请注意,此文件不在 xcarchive 中。

希望能帮上忙!”

就我而言,它就像魅力一样

于 2016-02-22T09:07:06.533 回答
9

就我而言,我在 Archives 文件夹中找不到我的应用程序的 dSYM 文件。如果您遇到这种情况,请转到您的项目构建设置>构建选项>调试信息格式,并确保使用 dSYM 文件将其设置为 DWARF

于 2017-04-05T04:01:59.773 回答
2

如果包内容中的 dSYMs 文件夹为空(Ted 的回答),请尝试检查:

  • Build Settings > Build Options > Enable Bitcode设置为YES(Jacksonkr 的回答)
  • Build Settings > Build Options > Debug Information Format设置为DWARF with dSYM file (daisura99's answer)

请检查他们两个。

然后在 show package contents -> dSYMs 文件夹中,这一次,你应该可以找到一些东西。

就我而言,它奏效了。

于 2019-06-20T11:07:29.430 回答
0

形成最新更新,您无需手动上传 dSYM 文件,自动上传通过以下过程完成。

Step-1: Goto Target-> Build Settings -> 搜索“debug information format”。对于所有构建类型,使用 dSYM 文件将调试信息格式设置为DWARF。

在此处输入图像描述

第 2 步:转到构建阶段 -> 展开运行脚本并添加脚本和输入文件

在脚本中:

"${PODS_ROOT}/FirebaseCrashlytics/run"

在输入文件中:

${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
    $(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

示例截图:

在此处输入图像描述

Step-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 update with your project path 表示您的应用架构名称

如果您在运行应用程序时遇到错误,请按照我的回答Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code

错误:

 Command PhaseScriptExecution failed with a nonzero exit code
于 2021-11-15T13:13:47.497 回答