我正在研究一系列将共享公共代码库的iOS应用程序。我已经开发了通用代码库作为静态库,并且希望它包含在主应用程序的.dSYM文件中的调试符号。我的理解是,这是可能的,但我还没有得到它的工作。iOS静态库调试不包含在dSYM中的符号
它自己的项目中有一个静态库作为目标的公共代码库。该项目被拖入主应用程序的项目中。在主应用程序的目标构建阶段中,我添加了静态库作为目标依赖项,并在链接二进制库中。该项目根据需要构建和运行。
现在,如果我从主项目生成归档文件,我可以在Finder中查看该归档文件,并且它包含一个.dSYM文件,该文件可用于表示崩溃日志。但是,.dSYM只包含主应用程序的符号,而不包含静态库。过度证实这一点,我跑了以下内容:
dwarfdump /path/to/app.dSYM
和输出(大部分)不从静态库包含任何符号。我发现唯一的例外是我的主项目的AppDelegate是静态库中对象的子类,并且.dSYM中有超类的条目。但是,其他类别都不存在。
静态库中的项目的目标的生成设置,我已经设置了以下内容:
- 地带调试符号复制过程:NO
- 地带挂钩产品:NO
- 生成调试符号:是
- 默认隐藏的符号:NO
如果有人可以提供一些指导,我将不胜感激它。
您使用的是什么版本的XCode? – misnomer 2012-09-09 13:22:11
你是否管理过这个问题?我有同样的问题,仍然无法弄清楚发生了什么。 – Vincent 2012-12-08 01:53:20