xcodebuild工作区和方案

时间:2013-05-09 15:40:56

标签: ios xcode4 xcodebuild

当您指定工作空间和方案时,我对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 个答案:

答案 0 :(得分:12)

你几乎就在那里,但你的语法有点偏。 根据{{​​3}}:

  

xcodebuild -workspace workspacename -scheme schemename [-configuration configurationname]                   [-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中,您可以选择通过“产品”菜单运行的构建操作,或者单击并按住IDE左上角的圆形按钮(Run = Play三角形,Test =扳手图标等)。

另外,请注意其中 xcodebuild正在寻找您的构建方案 - 它可以位于.xcproj或.xcworkspace文件中,具体取决于您创建的文件。 (如果未手动创建工作区,则将具有.xcproj文件)。

您还可以通过Xcode中的“管理方案”设置确定您拥有的方案。