通过Swift Package Dependency安装的SwiftLint可执行文件路径是什么
SPM安装的SwiftLint可执行文件路径
通过Swift Package Dependency安装的SwiftLint可执行文件,默认位于Xcode拉取SPM依赖的固定目录下,可通过Xcode内置环境变量拼接得到通用路径:${BUILD_DIR%/Build/*}/SourcePackages/checkouts/SwiftLint/swiftlint
原脚本报错原因
你当前使用的脚本中which swiftlint只会检索系统全局PATH下的可执行文件,SPM方式安装的SwiftLint不会写入系统全局PATH,因此无法被检索到,才会触发未安装的警告。
修正后的运行脚本
替换Build Phases中的原有脚本为以下内容即可正常调用SPM安装的SwiftLint:
SWIFTLINT_PATH="${BUILD_DIR%/Build/*}/SourcePackages/checkouts/SwiftLint/swiftlint" if [ -f "$SWIFTLINT_PATH" ]; then "$SWIFTLINT_PATH" else echo "warning: SwiftLint not found in SPM dependencies, please check your package configuration" fi
补充说明
- Xcode 13及以上版本也可使用
$BUILD_ROOT/../SourcePackages/checkouts/SwiftLint/swiftlint定位可执行文件,效果一致 - 只要你没有手动修改SPM依赖的存储路径,上述通用路径可适配所有项目,无需写死绝对路径
内容的提问来源于stack exchange,提问作者Luda
相关产品推荐
相关产品推荐

