【问题标题】:Debugging (owned) Framework when using Carthage使用 Carthage 时调试(拥有)框架
【发布时间】:2016-12-16 04:36:14
【问题描述】:

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

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

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

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

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

有人可以提供有关如何配置应用程序的秘诀,以使私有框架代码未优化并且我可以从托管应用程序进入框架代码吗?

谢谢 彼得...

【问题讨论】:

标签: ios swift debugging frameworks carthage


【解决方案1】:

这里有两个选项。

1。主项目中的调试框架

按照Carthage guide 的第 4 步,您应该能够逐步调试您的私有框架。

将调试信息复制到构建产品目录后,Xcode 将能够在您在断点处停止时对堆栈跟踪进行符号化。这也将使您能够在调试器中单步调试第三方代码。

2。在主项目中修改框架

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

现在您可以在您的私有框架上进行开发,并在您的主项目中对其进行全部测试。完成后

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

【讨论】:

  • 如果我遵循上面的#2,我如何让 XCode 使用其中的框架而不是 carthage 添加的框架? @ajmccall
  • @cbartel 我认为您必须删除 Carthage 框架的引用并使用从 .xcodeproj 生成的引用。
  • 对于 2,还有几个步骤。就我而言,我必须确保将我的框架 .xcodeproj 拖到主应用程序项目中。然后在删除 Carthage 导入版本的依赖项后,我可以在主项目 Build Dependencies -> Target Dependencies 中添加现有框架作为构建依赖项。干净的构建,一切都很好。
猜你喜欢
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 2016-11-27
  • 2017-04-21
  • 2016-11-14
  • 2022-01-22
相关资源
最近更新 更多