Xcode-没有 dSYM 可供下载

我想从中提取 dSYM 文件,但是当我单击 主办机构中的 “下载 dSYM...”时,我得到如下消息: “没有可供下载的 dSYM。”.

我使用 Xcode 7.2和 Cocoapods 0.39生成的工作区。

我怎样才能得到它们?

enter image description here

48953 次浏览

我认为@Jordan 是正确的—— iTunes Connect 似乎正在用位码重新编译应用程序,这样 UUID 就会发生变化,而内部的 dSYM。Xcarchive 实际上不能用来象征应用程序(这似乎是一个新的开发)。

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

您得到的文件名为 dSYMs (没有扩展名) ,但实际上它是一个 zip 文件。添加。Zip 扩展,解压缩,你会发现你的 dSYM (s)内。

(因为 Crashlytics 抱怨 dSYM 丢失,所以我这周必须这么做。)

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

“ Crashlytics 报告丢失的 dSYM 与 UUID 类似: 83889b11dedd363c8e5ee56233bcc90c。 正如我所说,我按照指南7,但我找不到 UUID。所以我在 iTunes 连接中做了以下操作:

  • 选择应用程序
  • 选择顶部的 Activity 选项卡
  • Select the build version Crashlytics is complaining about
  • 单击下载 dSYM 蓝色链接

下载的文件名为 dSYM,没有扩展名,但实际上是一个 zip。因此,我添加了拉链扩展和解压缩它。在解压文件夹中,我找到了许多 dSYM 文件,其中一个文件名为83889B11-DEDD-363C-8E5E-E56233BCC90C。与 UUID Crashlytics 匹配的 dSYM 报告丢失(即使格式不同)。还要注意,这个文件不在 xcarchive 中。

希望能有所帮助!”

in my case, it works like charms

实际上你现在不能从 iTunesConnect 下载 dSYM 文件,还有另外一种方法可以得到这个文件。

Xcode-> Window-> Organizer-> Show xcarchive file in Finder-> 右键单击 Your xcarchive file-> Select“ Show Package Content”

现在可以看到 dSYM 文件了。

NON-BITCODE

这里有一个关于如何得到 DSYMS,压缩和上传到 Crashlytics/织物的 GIF

enter image description here

  1. 按窗口 > 组织者
  2. 右键单击应用程序 > Show in Finder
  3. 右键单击 first. xcarchive file > Show package content

启用比特码

您需要从 App Store Connect 下载 dsyms。最简单的方法是使用 快车道

lane :refresh_dsyms do
download_dsyms                  # Download dSYM files from App Store Connect
    

upload_symbols_to_crashlytics   # Optional for uploading to Crashlytics
end

在我的情况下,我无法在 Archives 文件夹中找到我的应用程序的 dSYM 文件。如果你遇到这种情况,转到你的 项目生成设置 > 生成选项 > Debug Information Format,并确保它被设置为 带 dSYM 文件的 DWARF

必须启用位代码

如果你想从 iTunesConnect 获得你的 dSYM

  • 构建设置 > 构建选项 > Enable Bitcode > 是的
  • 选择设备“ 通用 iOS 设备”(或任何可以工作的设备)
  • Archive

从存档导出时

  • 检查 include app symbols for your application to receive symbolicated crash logs from Apple
  • CHECK "包括比特码"

Upload using Application Loader

一旦你的应用程序已经上传到 iTunes 连接,你可以进入 iTunesConnect.com > MyApps > [你的应用程序] > 活动 > 所有构建 > [你的构建] > 常规信息 > 包含符号 > 下载 dSYM

# xcode8.2.1 # osx10.12.6

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

  • 构建设置 > 构建选项 > Enable Bitcode设置为 是的(Jacksonkr 的答案)
  • 构建设置 > 构建选项 > 调试信息格式设置为 带 dSYM 文件的 DWARF(daisura99的答案)

Please check them both.

然后在 show package content-> dSYMs 文件夹中,这次应该会找到一些内容。

对我来说,成功了。

表单最新更新你不需要手动上传 dSYM 文件,自动上传是用下面的过程完成的。

步骤1: Goto Target-> Build Settings-> 搜索“ debug information format”。将所有生成类型的调试信息格式设置为 带 dSYM 文件的 DWARF

enter image description here

步骤2: Goto Build Phases-> 展开 运行脚本并添加 < strong > script & input files

剧本:

"${PODS_ROOT}/FirebaseCrashlytics/run"

在输入文件中:

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

示例截图:

enter image description here

步骤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}

enter image description here

在这里,在第2行的脚本 ${ PROJECT _ DIR }/Your _ path/GoogleService-Info. plist-p ios更新与您的项目路径意味着您的应用程序 模式名称

如果你在运行应用程序时出错,请按照我的回答 Xcode 10.2.1 Command PhaseScriptExecution failed with a nonzero exit code操作

错误:

 Command PhaseScriptExecution failed with a nonzero exit code