xcodebuild 工作区和方案
Posted
技术标签:
【中文标题】xcodebuild 工作区和方案【英文标题】:xcodebuild workspace and scheme 【发布时间】:2013-05-09 15:40:55 【问题描述】:当您指定工作区和方案时,我对 xcodebuild 命令行工具会发生什么感到有些困惑。
我了解配置方案在 XCode IDE GUI 中的工作原理。构建操作列出了要构建的目标,对于每个操作(分析、测试、运行、配置文件、存档),您可以选择要为其执行构建操作的目标。
因此,如果我在构建操作中选择了每个操作(分析、测试、运行、配置文件、存档)以进行构建,那么当我执行以下命令时会发生什么。
xcodebuild clean install -workspace MyWorkspace.xcworkspace -scheme MyScheme
-configuration AdHoc SYMROOT=PATH DSTROOT=PATH...
它在主 xcodeproj 中搜索 MyScheme.xcscheme,在 XCode 中编辑方案时指定了所有这些配置。
xcodebuild 从这个文件中读入了什么?它是否只是使用 AdHoc 配置构建配置的目标而忽略其他所有内容?
【问题讨论】:
【参考方案1】:你快到了,但你的语法有点不对劲。 根据man page:
xcodebuild -workspace 工作空间名 -scheme 方案名 [-configuration 配置名] [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] [-userdefault=value ...]
其中 buildaction 是以下之一:
构建动作 ... 指定要在目标上执行的构建操作(或多个操作)。可用的构建操作有:
build Build the target in the build root (SYMROOT). This is the default build action.
archive Archive a scheme from the build root (SYMROOT). This requires specifying a scheme.
test Test a scheme from the build root (SYMROOT). This requires specifying a scheme.
installsrc Copy the source of the project to the source root (SRCROOT).
install Build the target and install it into the target's installation directory in the dis-
tribution root (DSTROOT).
clean Remove build products and intermediate files from the build root (SYMROOT).
在 Xcode IDE 中,您可以通过 Product 菜单选择构建操作,或者单击并按住 IDE 左上角的圆形按钮(运行 = 播放三角形,测试 = 扳手图标等)。
另外,请注意在哪里 xcodebuild 正在寻找您的构建方案 - 它可以在您的 .xcproj 或 .xcworkspace 文件中,具体取决于您创建的文件。 (如果您没有手动创建工作区,您将拥有一个 .xcproj 文件)。
您还可以通过 Xcode 中的“管理方案”设置确定您拥有哪些方案。
【讨论】:
所以如果我指定build作为构建动作,它会查看Scheme配置来获取构建配置比如Debug/Release?以上是关于xcodebuild 工作区和方案的主要内容,如果未能解决你的问题,请参考以下文章
如何解决xcodebuild:错误:工作区''不包含jetbrains AppCode中名为''的方案
xcodebuild clean 失败 - 对于不存在的方案?