【发布时间】:2020-03-30 04:06:05
【问题描述】:
如何使用断点继续跨 Swift 模块进行调试?
在 Swift 项目中工作时,我有一个大型应用程序,我想将其重构为两个项目 (modules),以获得更好的模块化、可修改性和可维护性。但是,我担心debuggability 的方式。当代码在单个项目中时,开发人员可以使用断点进行调试,直到根本原因所在的行,但是在重构为两个单独的项目之后,如果入口断点在一个项目中开始并在另一个项目中结束,开发人员如何调试?有没有办法继续跨项目进行调试和发布?或者这是模块化应用程序的常见问题?
例如,假设我已将名为 MyApp 的单个应用程序分成以下两个模块,
-
App- 托管主项目 -
Feature- 框架项目
模块:App,类:AppInterfaceLayer
import Foundation
import Feature
class AppInterfaceLayer {
public func printMe(printString: String){
FrameworkServiceLayer().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
}
}
如何处理这个问题?
注意:我试图用上面的代码展示一个最小的可行示例。在实际项目中,沟通会过于纠结。
【问题讨论】:
标签: ios swift debugging module architecture