web-dev-qa-db-fra.com

Nettoyer IOS cible xcode en ligne de commande

Je crée/exécute une application IOS à partir de la ligne de commande avec les commandes suivantes:

xcodebuild  -sdk "${TARGET_SDK}" -xcconfig "${CONFIG_FILE_PATH}"  -configuration Release

/usr/bin/xcrun -sdk "${TARGET_SDK}" PackageApplication -v "${PROJECT_BUILD_DIR}/${APPLICATION_NAME}.app" -o "${OUTPUT_DIR}/${APPLICATION_NAME}.ipa"

Existe-t-il une commande pour nettoyer les cibles. ou ces commandes prennent soin de se nettoyer.

21
clint

Depuis la page de manuel de xcodebuild:

xcodebuild [-project projectname] [-target targetname ...] [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] [-userdefault=value ...]

et l'action de génération pourrait prendre les valeurs suivantes (UPD 13.08.2018):

action ...
       Specify one or more actions to perform. Available actions are:

       build                  Build the target in the build root (SYMROOT).  This is the default action, and
                              is used if no action is given.

       build-for-testing      Build the target and associated tests in the build root (SYMROOT).  This will
                              also produce an xctestrun file in the build root. This requires specifying a
                              scheme.

       analyze                Build and analyze a target or scheme from the build root (SYMROOT).  This
                              requires specifying a scheme.

       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 and optionally a destination.

       test-without-building  Test compiled bundles. If a scheme is provided with -scheme then the command
                              finds bundles in the build root (SRCROOT).  If an xctestrun file is provided
                              with -xctestrun then the command finds bundles at paths specified in the
                              xctestrun file.

       install-src            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 distribution root (DSTROOT).

       clean                  Remove build products and intermediate files from the build root (SYMROOT).

Dans ton cas

xcodebuild  -sdk "${TARGET_SDK}" -xcconfig "${CONFIG_FILE_PATH}"  -configuration Release clean build

Il y a deux actions de build dans cette ligne de commande: 'clean' et 'build'. L'action "nettoyer" est effectuée en premier, puis la "construction". Comme l'indique la documentation, vous pouvez spécifier plusieurs actions de génération dans une commande, et le faire plutôt que d'utiliser des commandes distinctes garantit que les autres options sont les mêmes pour toutes les actions de génération.

36
Oleg Shulakov