ワークスペースとスキームを指定すると、xcodebuildコマンドラインツールで何が起こるかについて少し混乱しています。
XCode IDE GUIで構成されたスキームがどのように機能するかを理解します。ビルドアクションはビルドするターゲットをリストし、各アクション(分析、テスト、実行、プロファイル、アーカイブ)に対して、どれを選択するかビルドアクションを実行する必要があります。
したがって、ビルドのビルドアクションで各アクション(分析、テスト、実行、プロファイル、アーカイブ)を選択した場合、以下のコマンドを実行するとどうなりますか。
xcodebuild clean install -workspace MyWorkspace.xcworkspace -scheme MyScheme
-configuration AdHoc SYMROOT=PATH DSTROOT=PATH...
これは、XCodeでスキームを編集するときに指定されたすべてのこの構成を持つメインxcodeprojでMyScheme.xcschemeを検索します。
Xcodebuildはこのファイルから何を読み込みますか? AdHoc構成で構成済みターゲットを構築し、それ以外はすべて無視しますか?
あと少しですが、構文は少しずれています。 man page によると:
xcodebuild -workspace workspacename -scheme schemename [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting = value ...] [-userdefault = value ...]
ここで、buildactionは次のいずれかです。
buildaction ...ターゲットで実行する1つまたは複数のビルドアクションを指定します。利用可能なビルドアクションは次のとおりです。
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(Run = Play triangle、Test = wrench icon 、など)。
また、注意してくださいwherexcodebuildはビルドスキームを探しています-.xcproj OR =作成した.xcworkspaceファイルに応じて(手動でワークスペースを作成しなかった場合は、.xcprojファイルが作成されます)。
Xcodeの[スキームの管理]設定を使用して、どのスキームを使用しているかを確認することもできます。