web-dev-qa-db-fra.com

Comment activer le timing de construction dans Xcode?

J'aimerais savoir combien de temps les builds de mon projet prennent, par exemple en l'affichant dans le volet de build. Cette option est-elle disponible quelque part dans Xcode?

Merci.

81
Guillaume

Tapez ceci dans le terminal:

defaults write com.Apple.dt.Xcode ShowBuildOperationDuration YES

La durée apparaît dans la visionneuse d'activité après une génération, à côté du message "Réussi".

Si vous exécutez l'application, le statut sera remplacé par le statut en cours d'exécution avant que vous puissiez voir la durée.

Cela remplace l'entrée utilisée dans les anciennes versions de Xcode:

par défaut, écrivez com.Apple.Xcode ShowBuildOperationDuration OUI

Il peut être nécessaire de fermer Xcode avant de saisir cette commande. Les durées doivent apparaître en bas à gauche de la fenêtre du projet.

Commentaire d'un développeur Xcode: "Comme pour tous les paramètres par défaut des utilisateurs non documentés, cela n'est pas pris en charge, supposé (mais non garanti) précis, et n'est pas assuré d'être efficace dans les futures versions."

166
Guillaume

non, mais vous pouvez utiliser la ligne de commande. cd dans votre répertoire de projet et tapez

time xcodebuild
13
Nikolai Ruhe

Dans Xcode 10, vous pouvez maintenant voir une grande répartition des temps de construction en utilisant leur fonction de résumé de synchronisation.

Produit-> Effectuer une action-> Construire avec un résumé de synchronisation

Cela montrera chacun de vos temps de construction cibles et le temps de construction global du projet. Vous pouvez faire beaucoup d'analyses en utilisant ces données et les temps de construction dépendront de votre matériel. Découvrez Building Faster in Xcode from WWDC 2018 si vous souhaitez en savoir plus.

Cependant, Xcode garde une trace de toutes vos builds par défaut et vous pouvez examiner leurs heures et leurs journaux en allant dans leur Report Navigator.

Créer des journaux dans Report Navigator

10
Andrew

Je l'ai résolu avec Run Script S dans Build Phases

J'ai ajouté un script d'exécution au point de départ de la build:

echo $(date +%s) > ../build_start_time

et un à la fin:

START=$(cat ../build_start_time)
END=$(date +%s)
echo $(echo "$END - $START" | bc)

Maintenant, je peux voir l'heure dans le journal de construction -> Tous les messages

3
adsurbum