【问题标题】:.dSYM file for iOS release build (firemonkey)iOS 版本构建的 .dSYM 文件(firemonkey)
【发布时间】:2018-04-26 18:58:55
【问题描述】:

我部署了我的应用并提交到 Apple 商店。它被拒绝了,他们说它在发射时坠毁。在 Rad Studio 部署窗口中显示了一个 .dSYM 文件,它有一个奇怪的远程路径。 .dSYM 文件有什么用? .dSYM 似乎与调试有关 - 我是否将其省略?

它是下面列表中的第一个文件。

更新:在了解如何确保创建 .dSYM 文件(以及创建位置)之后,我现在在下面看到了这个部署窗口。我仍然不确定那个远程路径。这是否意味着 .dSYM 将安装在设备上?

【问题讨论】:

    标签: firemonkey c++builder-10.2-tokyo


    【解决方案1】:

    .dSYM 文件有什么用?

    Embarcadero 的文档对此进行了介绍:

    dSYM Debug File (*.dSYM)

    当您为 iOS 设备 - 32 位iOS 设备 - 64 位 构建项目时,RAD Studio 会在以下情况下生成 dSYM 调试文件:

    • 在 Delphi 中,您可以在 Project > Options > Delphi Compiler > Linking 中启用 调试信息 选项。
    • 在 C++ 中,您可以在 Project > Options > C++ Linker 中启用 Full debug information 选项。

    注意:包 (Delphi) 不会生成 dSYM 调试文件。

    当您构建项目时,您的 dSYM 调试文件默认生成为 <project>.dsymC:\Users\<user>\Documents\Embarcadero\Studio\Projects\<project>\<platform>\<build configuration>

    更改输出目录:

    • 在 Delphi 中,使用Project > Options > Delphi Compiler 中的输出目录 选项。
    • 在 C++ 中,使用Project > Options > C++ (Shared Options) 中的最终输出目录 选项。

    您应该为您提交到 Apple 应用商店的每个应用版本保留一份 .dsym 文件的副本。如果您从 Apple 获得崩溃报告,则需要该应用版本的 .dsym 文件来“符号化”崩溃报告以帮助您调试崩溃:

    Understanding and Analyzing Application Crash Reports

    【讨论】:

    • 感谢 Remy,我推测 .dSYM 文件不应在应用程序的发布版本中部署到 App Store。使用您在上面提供的信息,我在“我们的运行时期望导出的符号”下设置了 C++ 链接器选项,将“继承”设置为 false。我想我也可以在部署窗口中取消选择该 .dSYM 文件。
    • 感谢您提供有关如何处理 .dSYM 文件的信息。
    • Apple's documentation 讨论了dsym 文件的部署
    • Apple 文档显示 dsym 被阻止进行崩溃诊断 - 这不是我从 Rad Studio 进行发布部署时要部署的文件之一。感谢您的澄清。
    • @relayman357 "如果您通过 App Store 分发您的应用程序,或使用 Test Flight 进行 beta 测试,您将可以选择在上传存档时包含 dSYM 文件iTunes Connect。在提交对话框中,选中“Include app symbols for your application...”。上传您的 dSYM 文件对于接收从 TestFlight 用户和选择共享诊断数据的客户收集的崩溃报告是必要的"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    相关资源
    最近更新 更多