我在iOS上的应用程序(主要是c++)收到了一堆崩溃日志。我的问题是我似乎无法正确地符号化这些崩溃报告。在iOS上剥离调试符号的“适当”设置是什么?我知道你想剥离调试符号,这样应用程序的下载大小就不会大得离谱。但问题是,它似乎使崩溃报告几乎无法阅读。xcode存档中的dSYM文件是否会被发送并最终被用户下载?或者它只是为了将来的符号化目的而保留的东西(在我自己的机器上本地完成,在xcode上)?
pxq42qpu1#
或者它只是为了将来的符号化目的而保留的东西(在我自己的机器上本地完成,在Xcode上)?您的“发布”配置(或您用于分发的任何配置)应该具有以下设置:默认隐藏的符号:是Xcode仍然会生成一个dSYM文件夹,这是你用来符号化崩溃日志的文件夹。有3种处理符号化的方法:1.使用Xcode。为此,您需要在发布时使用Product -> Archive功能。创建存档后,您可以选择“Export”然后选择“保存用于iOS App Store部署”。之后,您可以将崩溃日志拖到“Device Store”窗口的左侧,Xcode将为您标记它们。1.使用位于Xcode.app文件夹中的symbolicatecrash工具手动符号化。如果您已经向用户发布了代码但没有Xcode存档,这很有用。您需要确保崩溃日志与二进制和dSYM匹配,否则它将无法工作。1.使用第三方工具收集崩溃报告并为您进行符号化。例如Crashlytics、Bugsense或HockeyApp。
rwqw0loc2#
对于任何东西,如果你想知道它的正确设置,你所要做的就是:在Xcode中重新创建相同的精确的目标类型从头开始。我的意思是,如果你想知道应用的正确设置,那么就从头开始重新创建应用,然后去检查它的设置。如果你想知道框架的默认设置,那么就从头开始重新创建动态框架,然后检查它的设置。注意事项:一个应用程序的默认设置,一个框架的默认设置,一个静态库的默认设置,以及其他的设置是不同的。
因为框架是依赖项,而不是最终产品。这通常意味着应用需要不同的编译,链接,从另一个依赖项或主应用本身剥离设置。
有了ESTA,我们的目标是:
对于发布版本,目标是:
2条答案
按热度按时间pxq42qpu1#
或者它只是为了将来的符号化目的而保留的东西(在我自己的机器上本地完成,在Xcode上)?
您的“发布”配置(或您用于分发的任何配置)应该具有以下设置:
默认隐藏的符号:是
Xcode仍然会生成一个dSYM文件夹,这是你用来符号化崩溃日志的文件夹。有3种处理符号化的方法:
1.使用Xcode。为此,您需要在发布时使用Product -> Archive功能。创建存档后,您可以选择“Export”然后选择“保存用于iOS App Store部署”。之后,您可以将崩溃日志拖到“Device Store”窗口的左侧,Xcode将为您标记它们。
1.使用位于Xcode.app文件夹中的symbolicatecrash工具手动符号化。如果您已经向用户发布了代码但没有Xcode存档,这很有用。您需要确保崩溃日志与二进制和dSYM匹配,否则它将无法工作。
1.使用第三方工具收集崩溃报告并为您进行符号化。例如Crashlytics、Bugsense或HockeyApp。
rwqw0loc2#
对于任何东西,如果你想知道它的正确设置,你所要做的就是:
在Xcode中重新创建相同的精确的目标类型从头开始。我的意思是,如果你想知道应用的正确设置,那么就从头开始重新创建应用,然后去检查它的设置。如果你想知道框架的默认设置,那么就从头开始重新创建动态框架,然后检查它的设置。
注意事项:一个应用程序的默认设置,一个框架的默认设置,一个静态库的默认设置,以及其他的设置是不同的。
为什么app和framework不一样?
因为框架是依赖项,而不是最终产品。这通常意味着应用需要不同的编译,链接,从另一个依赖项或主应用本身剥离设置。
为什么是BVS Release不同?
有了ESTA,我们的目标是:
对于发布版本,目标是: