开发者社区> 问答> 正文

如何跨SWIFT模块进行调试?

如何使用断点继续跨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
    }
}

如何处理这个问题?

展开
收起
游客5akardh5cojhg 2019-12-05 22:16:23 490 0
1 条回答
写回答
取消 提交回答
  • 只要您将Xcode项目或多个项目导入工作区,断点将继续按预期工作。例如CocoaPods就是这样工作的。

    如果您打算使用二进制框架,那么就不那么多了,但似乎并非如此。

    2019-12-05 22:16:49
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
OpenStack Swift 海量小文件优化之路 立即下载
From Java/Android to Swift iOS 立即下载
Swift在Airbnb的应用实践 立即下载