Xcode 如何将源代码连接到已编译的框架
How to connect source code to the compiled framework in Xcode
我在我的 Xcode 项目中使用 ReactiveCocoa 3.0 编译框架。有时我想看看函数里面有什么代码。
是否有任何方法可以将源代码与已编译的 xcode 框架连接起来,以便能够深入挖掘 Xcode 中的代码?
更新:我正在使用 Carthage 依赖管理器和构建工具来构建框架
如果您有源代码并自己创建框架,那么在调试时应该能够看到源代码。为此,您必须在框架构建中包含调试符号。在发布版本中,符号通常会被删除,但在调试版本中,它们会被保留,调试器应该能够显示代码。
在 Xcode 中,在框架的构建设置中,查找 "Strip Debug Symbols During Copy" 并将其设置为否。此外,您可能希望关闭优化:"Optimization Level" 至 "None [-O0]".
据我了解,由于 Carthage 构建了框架作者提供的现有 xcproject,因此有两种方法可以实现您的需求:
- 根据@Nikolai 的建议(这似乎是侵入性的和额外的工作)或
配置框架项目以构建带有符号的调试版本
- 将 Carthage/Checkout 中的框架项目包含到您的项目中并直接使用它,ala Cocoapods。
后一种选择 (#2) 是我在积极与库交互并需要调试时为早期开发所做的。后面可以使用carthage自带的预编译框架
我在我的 Xcode 项目中使用 ReactiveCocoa 3.0 编译框架。有时我想看看函数里面有什么代码。
是否有任何方法可以将源代码与已编译的 xcode 框架连接起来,以便能够深入挖掘 Xcode 中的代码?
更新:我正在使用 Carthage 依赖管理器和构建工具来构建框架
如果您有源代码并自己创建框架,那么在调试时应该能够看到源代码。为此,您必须在框架构建中包含调试符号。在发布版本中,符号通常会被删除,但在调试版本中,它们会被保留,调试器应该能够显示代码。
在 Xcode 中,在框架的构建设置中,查找 "Strip Debug Symbols During Copy" 并将其设置为否。此外,您可能希望关闭优化:"Optimization Level" 至 "None [-O0]".
据我了解,由于 Carthage 构建了框架作者提供的现有 xcproject,因此有两种方法可以实现您的需求:
- 根据@Nikolai 的建议(这似乎是侵入性的和额外的工作)或 配置框架项目以构建带有符号的调试版本
- 将 Carthage/Checkout 中的框架项目包含到您的项目中并直接使用它,ala Cocoapods。
后一种选择 (#2) 是我在积极与库交互并需要调试时为早期开发所做的。后面可以使用carthage自带的预编译框架