8

我们有一个非常重要的应用程序套件,用于具有几个应用程序目标的客户端,这些应用程序目标使用我们内部制作的几个静态库。所有目标都包含在一个 XCode 项目文件中。

出于某种原因,在归档应用程序时,dSYM 文件不包含任何静态库的调试符号。结果是,当尝试从现场代理符号化崩溃日志时,我们看不到这些静态库中发生了什么。

我试图用一个应用程序目标和一个静态库创建一个新的简单 XCode 项目。即使这样,调试符号也丢失了。我没有运气根据这个https://github.com/TheRealKerni/QuincyKit/issues/91摆弄构建设置。

如果我构建用于存档的调试符号包括在内。我在生成的 dSYM 文件上运行了 dwarfdump,并且能够看到静态库实现文件的符号。但是,当我尝试归档项目时,符号被排除在外。

我错过了什么吗?XCode 版本 4.4.1

4

3 回答 3

3

我正在使用 XCode 5.1.1 并且遇到了同样的问题。

修复方法是为每个依赖库项目将“部署”部分下的“剥离链接产品”设置设置为“否”。更详细的可以看我的帖子

我可以调试从 ipa 存档安装的 ios 应用程序吗

于 2014-11-17T08:23:30.250 回答
1

这似乎在更高版本的 XCode 中得到修复,目前使用 4.6 并且问题消失了。

如果您无法使用旧版本,请执行以下操作: Product > Build For > Archiving Product > Archive 从派生数据打开构建的产品,您可以通过右键单击 Products 组中的 Youapp.app 文件并选择 show in 来执行此操作发现者。确保您位于 Release-xxx 文件夹中。复制那里生成的 dSYM 文件并替换存档过程生成的文件。要查找存档文件的位置,请转到管理器,存档选项卡,右键单击项目并在查找器中显示。

希望这可以帮助。

于 2013-03-12T18:05:23.220 回答
-2

默认情况下,存档使用发布版本,它已经对调试符号进行了条带化​​。您可以将存档构建选项更改为“非条带化”。

于 2014-01-10T08:48:55.903 回答