如何使用断点继续跨SWIFT模块进行调试?
在工作期间Swift项目,我有一个大型应用程序,我想把它重构成两个项目(modules)以获得更好的模块化、可修改性和可维护性。然而,我担心的是debuggability...当代码位于单个项目中时,开发人员可以使用断点进行调试,直到找到根本原因,但是在将代码重构为两个单独的项目之后,如果入口断点在一个项目中开始,而在另一个项目中结束,那么开发人员如何调试?是否有任何方法可以继续跨项目进行调试和发布?对于模块化应用程序来说,这是一个常见的问题吗?
例如,我分离了一个名为MyApp分成两个模块,
App-主办主要项目 Feature-框架项目 模块应用程序,类AppInterfaceLayer
import Foundation
import Feature
class AppInterfaceLayer {
public func printMe(printString: String){
SHCommon().printMe(printString: printString) // entry point of debugging
}
}
模块特性,类FrameworkServiceLayer
import Foundation
public class FrameworkServiceLayer {
public init(){}
public func printMe(printString: String) {
// an error is produced here
}
}
如何处理这个问题?
只要您将Xcode项目或多个项目导入工作区,断点将继续按预期工作。例如CocoaPods就是这样工作的。
如果您打算使用二进制框架,那么就不那么多了,但似乎并非如此。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。