ios - 对于发行版,iOS中正确的“Strip Debug Symbols”设置是什么?

标签 ios xcode debugging debug-symbols

我在iOS上为我的(主要是C++)应用程序获取了大量崩溃日志。我的问题是我似乎无法正确象征这些崩溃报告。

用于剥离要在iOS上发布的调试符号的“正确”设置是什么?我知道您想剥离调试符号,以使应用程序的下载大小不会过大。

但是问题在于,它似乎使崩溃报告几乎不可读。

用户是否发送并最终下载了xcode存档上的dSYM文件?

还是仅仅是为了将来的符号化目的而保留一些东西(在我自己的机器上,在xcode上本地完成)?

最佳答案

还是仅仅是为了将来的符号化目的而保留一些东西(在我自己的机器上,在Xcode上本地完成)?

这个。您的“发布”配置(或用于分发的任何配置)应具有以下设置:

默认隐藏的符号:是

Xcode仍会生成一个dSYM文件夹,您将使用该文件夹来象征崩溃日志。有三种处理符号的方法:

  • 使用Xcode。为此,您需要在发布时使用产品->存档功能。创建存档后,您可以选择“导出”,然后选择“保存以进行iOS App Store部署”。之后,您可以将崩溃日志拖到“设备日志”窗口的左侧,Xcode会为您象征它们。
  • 使用位于Xcode.app文件夹内的symbolicatecrash工具手动进行符号化。如果您已将代码发布给用户但没有Xcode存档,这将非常有用。您需要确保崩溃日志与二进制和dSYM匹配,否则它将不起作用。
  • 使用第三方工具来收集崩溃报告并为您符号化它们。示例包括Crashlytics,Bugsense或HockeyApp。
  • 关于ios - 对于发行版,iOS中正确的“Strip Debug Symbols”设置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29705691/

    相关文章:

    ios - 集成 Realm Swift 后 libswiftCore.dylib 的库版本不兼容

    ios - 关于 XCode (Swift) 中选择器的快速问答

    debugging - 如何在 Firefox 中调试 TCP 级别的 Web 连接?

    C++ 获取 std::out_of_range 异常的位置

    cocoa - 如何通过 gdb 打印和使用常量(通过 Xcode)?

    ios - 在 Swift 中为 Parse 的 PFRelation 声明一个只读的@NSManaged 属性

    ios - 如何在应用程序中使用更少的 UIviewController

    ios - Swift iOS 应用程序最佳方法 - Book With Input

    ios - 如何在 IBOutlet 上创建可配置属性

    iphone - 命令行编译 iPhone 应用程序