我想从中提取 dSYM 文件,但是当我在管理器中单击“下载 dSYM...”时,我收到以下消息:“没有可供下载的 dSYM。”。
我将 Xcode 7.2 与 Cocoapods 0.39 生成的工作区一起使用。
我怎样才能得到它们?
非位码
这是一个关于如何获取 DSYMS、压缩和上传到 crashlytics/fabric 的 GIF
启用位码
您需要从 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
我认为@Jordan 是正确的——似乎 iTunes Connect 正在使用位码重新编译应用程序,以便 UUID 发生变化,并且 .xcarchive 中的 dSYM 实际上不能用于符号化应用程序(这似乎是一个新的发展) .
您可以从 iTunes Connect 下载正确的 dSYM。登录,转到我的应用程序,选择您的应用程序,然后点击顶部的活动选项卡。点击相关版本,假设应用程序首先提交了符号,您应该会看到“下载 dSYM”选项。
您获得的文件称为 dSYMs(没有扩展名),但它实际上是一个 zip 文件。添加 .zip 扩展名,解压缩,您会在其中找到您的 dSYM。
(这周我需要这样做,因为 Crashlytics 抱怨缺少 dSYM。)
实际上你现在不能从 iTunesConnect 下载 dSYM 文件。还有另一种获取该文件的方法。
Xcode -> 窗口 -> 管理器 -> 在 Finder 中显示 xcarchive 文件 -> 右键单击您的 xcarchive 文件 -> 选择“显示包内容”
您现在可以看到您的 dSYM 文件。
如果你想dSYM
从 iTunesConnect获取你的
Enable Bitcode
>是Archive
从存档导出时
使用应用程序加载器上传
将您的应用成功上传到 iTunesConnect 后,您可以转到 iTunesConnect.com > MyApps > [YOUR APP] > Activity > All Builds > [YOUR BUILD] > General Information > Includes Symbols > Download dSYM
#xcode8.2.1 #osx10.12.6
我从https://twittercommunity.com/t/not-matching-uuid-bitcode/61000/2找到了一个解决方案
“Crashlytics 报告丢失的 dSYM 的 UUID 如下所示:83889b11dedd363c8e5ee56233bcc90c。正如我所说,我按照指南 7 但我找不到 UUID。所以我进入了 iTunesConnect 并执行了以下操作:
下载的文件名为 dSYM,没有扩展名,但实际上是一个 zip。所以我添加了zip扩展并解压缩它。在解压后的文件夹中,我发现了许多 dSYM 文件,其中一个名为 83889B11-DEDD-363C-8E5E-E56233BCC90C.dSYM 的文件与 UUID Crashlytics 匹配报告为丢失(即使格式不同)。另请注意,此文件不在 xcarchive 中。
希望能帮上忙!”
就我而言,它就像魅力一样
就我而言,我在 Archives 文件夹中找不到我的应用程序的 dSYM 文件。如果您遇到这种情况,请转到您的项目构建设置>构建选项>调试信息格式,并确保使用 dSYM 文件将其设置为 DWARF
如果包内容中的 dSYMs 文件夹为空(Ted 的回答),请尝试检查:
请检查他们两个。
然后在 show package contents -> dSYMs 文件夹中,这一次,你应该可以找到一些东西。
就我而言,它奏效了。
形成最新更新,您无需手动上传 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