集成了 SwiftLint 报警告
Showing All Messages
Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase.
这个警告是因为你在项目中集成了 SwiftLint,并且在构建脚本中没有指定输出文件(Outputs),因此 Xcode 会在每次构建时运行该脚本。为了消除这个警告,可以采取以下两种解决方案:
解决方法 1: 配置输出文件
你可以为 SwiftLint 脚本阶段添加输出文件,使得 Xcode 能够检测到是否需要在每次构建时运行脚本。
步骤:
1. 在 Xcode 中选择你的项目,点击 Build Phases。
2. 找到 Run Script 阶段,并展开。
3. 在 Input Files 和 Output Files 部分中分别填写以下内容:
Input Files:
${SRCROOT}/**/*.swift
Output Files:
${DERIVED_FILE_DIR}/swiftlint
这将告诉 Xcode,只有当 .swift 文件改变时才运行这个脚本,并且会创建一个 swiftlint 文件作为输出,避免每次都重新执行该脚本。
解决方法 2: 禁用基于依赖分析的构建
如果你希望在每次构建时都运行 SwiftLint,无论是否有源代码的变化,你可以关闭依赖分析。
步骤:
1. 在 Xcode 中选择你的项目,点击 Build Phases。
2. 找到 Run Script 阶段,并展开。
3. 取消勾选 Based on dependency analysis。
总结
如果希望优化构建速度并避免不必要的脚本执行,推荐使用 解决方法 1 配置输入/输出文件。如果希望确保每次都运行 SwiftLint,无论代码是否有变动,使用 解决方法 2。