【发布时间】:2012-07-16 21:49:24
【问题描述】:
我正在开发一系列将共享一个通用代码库的 iOS 应用程序。我已将通用代码库开发为静态库,并希望它的调试符号包含在主应用程序的 .dSYM 文件中。我的理解是这是可能的,但我还没有让它工作。
以静态库为目标的自己项目中的通用代码库。该项目被拖入主应用程序的项目中。在主应用程序目标的构建阶段中,我将静态库添加为目标依赖项,并在 Link Binary With Libraries 下添加。项目将根据需要构建和运行。
现在,如果我从主项目生成存档,我可以在 Finder 中查看该存档,它包含一个 .dSYM 文件,可用于符号化崩溃日志。但是,.dSYM 仅包含主应用程序的符号,而不包含静态库的符号。为了过度确认这一点,我运行了以下命令:
dwarfdump /path/to/app.dSYM
并且输出(大部分)不包含静态库中的任何符号。我发现的唯一例外是我的主要项目的 AppDelegate 是静态库中对象的子类,并且 .dSYM 中有该超类的条目。但是,其他类都不存在。
在静态库项目的目标构建设置中,我设置了以下内容:
- 复制期间去除调试符号:否
- 条形链接产品:否
- 生成调试符号:是
- 默认隐藏符号:否
如果有人可以提供一些指导,我将不胜感激。
【问题讨论】:
-
你使用的是什么版本的 XCode?span>
-
您解决了这个问题吗?我有同样的问题,仍然无法弄清楚发生了什么。
标签: ios debugging linker static-libraries