ios - 使用迦太基时调试(拥有)框架

标签 ios swift debugging frameworks carthage

我正在开发我自己的 Swift 框架,以便在我的两个应用程序之间私下使用。我正在使用 Carthage 来管理该依赖项和其他依赖项。

我终于完成了框架的开发并将其连接到我的一个应用程序,毫不奇怪,该应用程序在新框架代码中崩溃了。

我想调试框架代码。我看过一些讨论的文章:

  1. 复制 dsym 文件和
  2. 使用调试信息进行编译。

不幸的是,这些文章遗漏了很多细节(而且我不是经验丰富的 iOS 开发人员或 Carthage 用户,无法隐含地了解它们)。

有人可以提供有关如何配置应用程序的方法,以便不优化私有(private)框架代码并且我可以从托管应用程序进入框架代码吗?

谢谢 彼得...

最佳答案

这里有两个选项。

1。主项目中的调试框架

按照 Carthage guide 的第 4 步进行操作然后您应该能够逐步调试您的私有(private)框架。

With the debug information copied into the built products directory, Xcode will be able to symbolicate the stack trace whenever you stop at a breakpoint. This will also enable you to step through third-party code in the debugger.

2。在主项目中修改框架

  1. 在本地克隆私有(private)框架源。
  2. 将框架的 .xcodeproj 拖到您的主项目中。 (不要在 Xcode 中打开这两个项目)。
  3. 删除 crthage 条目 carthageInput.xcfilelist & carthageOutput.xcfilelist
  4. project -> target -> general -> frameworks libraries and embedded content 中删除框架,然后使用 + 符号从拖动的项目中添加它。然后你会在框架名称旁边看到 Embed & sign

现在您可以在您的私有(private)框架上进行开发,并在您的主项目中测试它们。一旦完成

  1. 从主项目中删除对框架 .xcodeproj 的引用。
  2. 创建您的框架的新版本。
  3. 使用标准 carthage update 更新主项目以使用更新的版本

关于ios - 使用迦太基时调试(拥有)框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38862464/

相关文章:

ios - 如何将 PDF 附件插入 NSAttributedString 并显示在 UITextView 中

Php ftp_connect 在 AWS 服务器上不起作用

debugging - 通过QEMU在GDB中调试Linux内核时,如何显示所有x86控制寄存器?

ios - 是否有与 UIButton 上的 addTarget 不同的选项

ios - 解析 JSON 文件(本地存储),从而在 swift 中创建对象数组

ios - 有没有办法将一个ios设备的屏幕共享给另一台设备

ios - 无法关闭 Popover UITableViewController

c - 调试初学者 C 崩溃,寻找发现错误的替代逻辑

ios - 如何将 monkeytalk 应用程序连接到 IDE

ios - GoogleMaps iOS - 获取直线而不是路线