使用xcodebuild构建Swift Package Manager项目,如何忽略xcodeproj和xcworkspace?

问题描述

我有一个SPM项目,需要使用xcodebuild进行测试(因为它具有iOS资源,例如XIB)。该项目还支持Cocoapods,因此它也有.xcodeproj.xcworkspace文件

通常,xcodebuild将自动检测Package.swift文件并使用该文件进行构建,但是现在它检测到Cocoapods工作区并尝试从该文件删除

我通读了xcodebuild的文档,但是找不到将其明确指向Package.swift的标志。

是否有与--project--workspace标志等效的标志,可用来告诉xcodebuild使用Package.swift文件并忽略项目和工作区?

解决方法

运行xcodebuild -list以启动xcodebuild以使用Package.swift。

然后您可以正常使用xcodebuild。示例here

,

要将 xcodebuild 与 Swift Package Manager 一起使用,请指定方案名称:xcodebuild -scheme [SchemeName]

如果和 Cocoapods 有冲突,建议你把方案名改成唯一。