Xcode:如何创建 dSym 并仍然剥离符号?

Posted

技术标签:

【中文标题】Xcode:如何创建 dSym 并仍然剥离符号?【英文标题】:Xcode: How to create a dSym and still strip symbols? 【发布时间】:2017-08-14 16:47:38 【问题描述】:

我想在构建我的 Release 版本时创建一个 dSym 文件,但我也想去除可执行文件中的符号,以使事情远离多管闲事的眼睛。有可能两者都做吗?还是它们相互排斥?

我正在使用这个:

GCC_GENERATE_DEBUGGING_SYMBOLS=YES,
GCC_DEBUGGING_SYMBOLS = full, 
DEBUG_INFORMATION_FORMAT=dwarf-with-dsym, 
COPY_PHASE_STRIP=YES, 
DWARF_DSYM_FILE_NAME = "$(TARGET_NAME).dSYM", 
DWARF_DSYM_FOLDER_PATH = "$(CONFIGURATION_BUILD_DIR)/dSyms"

...它确实创建了 dSym 文件,但不幸地将符号保留在我的可执行文件中。

???

【问题讨论】:

【参考方案1】:

我偶然发现它并看到它是开放的。 当我看到用户名相似时,我认为它可能与此有关: https://forum.juce.com/t/generating-osx-dsyms-and-still-stripping-symbols/23731

我创建了一个JUCE 项目,该项目提供了一个示例,如何在保留 dSYM 以供以后使用的同时去除符号。

https://github.com/talaviram/SymbolFriendlyPlugIn

TL;DR - 这使得 xcodebuild 保留符号 -

xcodebuild -project "./Builds/MacOSX/SymbolFriendlyPlugin.xcodeproj" -configuration "Release" GCC_GENERATE_DEBUGGING_SYMBOLS=YES STRIP_INSTALLED_PRODUCT=YES DEBUG_INFORMATION_FORMAT=dwarf-with-dsym

xcode 项目本身应该与您在上面显示的内容非常相似:

我只能使用 xcodebuild 正确获取符号,这对于发布来说没问题,我猜你想要一些脚本来使事情尽可能自动化。

【讨论】:

以上是关于Xcode:如何创建 dSym 并仍然剥离符号?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有存档但有 .dsym 文件的情况下进行符号化?

如何在 xCode 中使用来自 Apple 的崩溃报告?

Xcode - UUID 与框架 dSYM 不匹配

如何创建 .dSYM 文件?

Xcode 显然不会创建应用程序的 dSYM 文件

dsym 更多信息显示——