隐式导入
为了减轻使用原始 Xcode 项目维护项目图的复杂性,苹果设计了一个允许隐式定义依赖项的构建系统。这意味着一个产品,例如一个应用,可以依赖于一个框架,即使没有显式声明这种依赖关系。在规模较小时,这没问题,但随着项目图变得越来越复杂,隐式行为可能会表现为不可靠的增量构建或基于编辑器的功能(如预览或代码补全)出现问题。
问题是,你无法阻止隐式依赖的发生。任何开发人员都可以在他们的 Swift 代码中添加 import 语句,从而创建隐式依赖。这就是 Tuist 的用武之地。Tuist 提供了一个命令来通过静态分析项目代码来检查隐式依赖。以下命令将输出项目的隐式依赖:
tuist inspect dependencies --only implicit如果命令检测到任何隐式导入,它将以非零退出代码退出。