web-dev-qa-db-fra.com

Xcode 4 - construit le répertoire de sortie

J'ai des problèmes pour configurer/localiser mes fichiers de sortie dans Xcode4 (beta 5). Ils sont placés quelque part dans ~/Library/Developer/ugly_path/.... Je ne peux même pas sélectionner "Afficher dans le Finder" sur mes produits. Il en va de même pour un simple projet C, un outil Foundation et même un bundle Cocoa. Un débogage fonctionne bien.

Pourriez-vous s'il vous plaît me signaler où et comment configurer/créer des répertoires de sortie? (Je sais que ça a l'air bête, je code dans Xcode3 depuis des mois, mais je n'arrive pas à le comprendre dans Xcode4 beta).

Merci beaucoup.

216
kubbing

Dans le menu Xcode en haut, cliquez sur Préférences, sélectionnez l’onglet Emplacements, puis sélectionnez l’option Construire l’emplacement.

Vous avez 2 options:

  1. Placez les produits de construction à l'emplacement de données dérivé (recommandé)
  2. Placez les produits de construction dans les emplacements spécifiés par les cibles

Mise à jour: Sur xcode 4.6.2, vous devez cliquer sur le bouton avancé situé à droite, sous le champ de texte dérivé. Build Location, sélectionnez Legacy.

341
the Reverend

Si vous construisez à partir de la ligne de commande, vous pouvez définir le répertoire de sortie de la manière suivante:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'
140
Igor

Dans Xcode 5: Xcode menu> Préférences ... élément> Emplacements onglet> Emplacements sous-onglet> - Avancé ... bouton> Personnalisé option.

Ensuite, choisissez, par exemple, par rapport à l’espace de travail.

29
Grumdrig

Si le paramètre Emplacement de construction Xcode 4 est défini sur "Placer les produits de construction dans l'emplacement de données dérivées (recommandé), il doit être situé dans ~/Bibliothèque/Developer/Xcode/DerivedData. Ce répertoire contiendra votre projet, nom du projet sera ajouté avec un tas de lettres générées alors regardez attentivement.

13
bxiong

Conservez les données dérivées mais utilisez DSTROOT pour spécifier la destination.

Utilisez DEPLOYMENT_LOCATION pour forcer le déploiement.

Utilisez le fichier non documenté DWARF_DSYM_FOLDER_PATH pour copier le dSYM également.

Cela vous permet d'utiliser l'emplacement de données dérivé de xcodebuild et de ne pas avoir à faire des trucs loufoques pour trouver l'application.

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build
10
Gabriel

Vous pouvez toujours trouver le répertoire de construction en consultant l'afficheur de journal de construction, puis en copiant le chemin d'accès dans une fenêtre de terminal.

J'utilise ceci pour analyser mes offres iOS .app avant leur installation afin de m'assurer qu'aucun fichier parasite n'est inclus.

8
radven

Pour ceux qui souhaitent trouver le répertoire de construction à partir d'un script mais ne veulent pas le modifier, exécutez ce qui suit pour obtenir une liste de tous les paramètres de construction qui pointent vers un dossier dans DerivedData:

xcodebuild -showBuildSettings | grep DerivedData

Si vous exécutez des cibles et des schémas personnalisés, mettez-les également ici:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData

Regardez la sortie pour localiser la sortie de réglage souhaitée, puis:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//'

La dernière partie coupe la chaîne au signe égal, puis coupe les espaces au début.

4

Si vous utilisez les nouveaux espaces de travail Xcode4, vous pouvez modifier l'emplacement de données dérivées sous Fichier -> paramètres de l'espace de travail ...

2
DaGaMs

Vous pouvez configurer le répertoire de sortie à l'aide de la variable d'environnement CONFIGURATION_BUILD_DIR.

Source: http://developer.Apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html#//Apple_ref/doc/uid/TP40003931-CH1-SW1

1
Heath Borders

Une autre chose à vérifier avant de commencer à jouer avec les préférences de Xcode est:

Sélectionnez votre cible et accédez à Paramètres de construction> Conditionnement> Extension de wrapper

La valeur devrait être: app

Sinon, double-cliquez dessus et tapez "app" sans les qoutes.

0
hasan