【问题标题】:Debugging a library with Xcode使用 Xcode 调试库
【发布时间】:2011-04-30 20:34:01
【问题描述】:

关于在构建 iPhone 应用程序时使用 Xcode 上的库,我有一个更普遍的问题。我已经从我一直致力于的项目中创建了一个框架,以便在其他应用程序中使用它的某些部分。到目前为止,效果很好。但我不知道如何调试包含在包含的框架中的文件。

我希望在这方面获得某种“最佳实践”。

非常感谢
-f

【问题讨论】:

    标签: objective-c cocoa-touch xcode frameworks shared-libraries


    【解决方案1】:

    关于如何最好地使用静态库重用代码已经有很多讨论。我已经确定了 Clint Harris 描述的 here 方法(我认为这也是 Shawn 所建议的)。以这种方式创建项目依赖项会自动为项目目标(模拟器/设备、调试/发布)编译库,因此您不需要四个不同的已编译库副本。它还允许您在调试时根据需要进入库源。最后,下次编译这些项目时,库的更新将包含在任何链接项目中(因此您不必自己重新编译并将库二进制文件重新分发到这些项目)。

    【讨论】:

    • 嘿蒂姆!谢谢你的提示。这种集成效果很好。但我仍然无法使用断点调试我的库。我必须采取一些额外的步骤吗?
    • 我刚刚玩过这个并发现了以下内容:默认情况下,当我在我的库项目中设置断点时,它实际上不会中断任何链接的项目,正如您所观察到的。但是,然后我右键单击断点,选择“编辑断点”,然后在“断点”窗口中,将新断点拖到“组和文件”部分中的链接项目的名称上。或者你可以将它拖到“全局断点”,但它会在任何链接的项目中中断。一旦我改变了设置断点的工作在链接的项目中。这对你有用吗?
    • 这可行,但有一个问题:如果您同时打开了两个项目,则子项目不会在父项目中显示为完整项目。所以在添加之前关闭子项目。 (XCode 抱怨说在两个地方打开同一个项目会导致数据完整性问题。)
    【解决方案2】:

    通常,我会将库的 Xcode 项目作为主应用程序项目的外部项目依赖项包含在内。项目依赖项的优势在于,您可以添加一个构建阶段,与主项目一起构建您的库的新副本,当然它可以让您在库的代码中设置断点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      相关资源
      最近更新 更多