23

当您指定工作区和方案时,我对 xcodebuild 命令行工具会发生什么感到有些困惑。

我了解配置方案在 XCode IDE GUI 中的工作原理。构建操作列出了要构建的目标,对于每个操作(分析、测试、运行、配置文件、存档),您可以选择要为其执行构建操作的目标。

因此,如果我在构建操作中选择了每个操作(分析、测试、运行、配置文件、存档)进行构建,那么当我执行以下命令时会发生什么。

xcodebuild clean install -workspace MyWorkspace.xcworkspace -scheme MyScheme 
-configuration AdHoc SYMROOT=PATH DSTROOT=PATH...

它在主 xcodeproj 中搜索MyScheme.xcscheme ,在 XCode 中编辑方案时指定了所有这些配置。

xcodebuild 从这个文件中读入了什么?它是否只是使用 AdHoc 配置构建配置的目标而忽略其他所有内容?

4

1 回答 1

18

你快到了,但你的语法有点不对劲。根据手册页

xcodebuild -workspace workspacename -scheme schemename [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] [-userdefault=value ...]

其中 buildaction 是以下之一:

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 中的“管理方案”设置确定您拥有哪些方案。

于 2013-08-22T19:59:17.603 回答