Come abilitare i tempi di compilazione in Xcode?


91

Mi piacerebbe sapere quanto tempo impiegano le build del mio progetto, ad esempio visualizzandolo nel riquadro di build. Questa opzione è disponibile da qualche parte in Xcode?

Grazie.

Risposte:


180

Digita questo nel terminale:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

La durata viene visualizzata nel visualizzatore di attività dopo una costruzione, accanto al messaggio "Riuscito".

Se stai eseguendo l'app, lo stato verrà sostituito dallo stato in esecuzione prima che tu possa vedere la durata.

Questo sostituisce la voce utilizzata nelle versioni precedenti di Xcode:

i valori predefiniti scrivono com.apple.Xcode ShowBuildOperationDuration YES

Potrebbe essere necessario chiudere Xcode prima di immettere questo comando. Le durate dovrebbero apparire in basso a sinistra nella finestra del progetto.

Commento di uno sviluppatore Xcode: "Come per tutte le impostazioni predefinite dell'utente non documentate, questo non è supportato, si presume (ma non è garantito) accurato e non è garantito che sia efficace nelle versioni future".


7
Funziona anche per Xcode 6. Il tempo di costruzione viene mostrato sotto la barra del titolo della finestra.
Klaas

6
@bobobobo Screenshot di dove appare l'ora in Xcode 6.1.1 <img src = " i.imgur.com/6KkYdls.png ">
chunkyguy

2
Qualche modo per stamparlo, su un file?
Alex Bartiş

1
Conferma che funziona per me in Xcode 7.1.1 (utilizzando il più recente com.apple.dt.Xcode)
Jedidja

2
Se qualcun altro si sta chiedendo il visualizzatore di attività è la finestra nella parte superiore centrale di xcode dove mostra ciò che è attualmente in fase di costruzione e quanto è lontano nel processo.
Warpzit

14

In Xcode 10, ora puoi vedere una grande ripartizione dei tempi di costruzione usando la loro funzione di riepilogo dei tempi.

Prodotto-> Esegui azione-> Crea con riepilogo dei tempi

Questo mostrerà ciascuno dei tempi di costruzione target e il tempo di costruzione complessivo del progetto. Puoi fare molte analisi usando questi dati e i tempi di costruzione dipenderanno dal tuo hardware. Dai un'occhiata a Building Faster in Xcode da WWDC 2018 se ti interessa saperne di più.

Tuttavia, Xcode tiene traccia di tutte le tue build per impostazione predefinita e puoi esaminare i loro tempi e log accedendo al loro Report Navigator.

Crea log in Report Navigator


non c'è modo di salvare il registro di build da XCode con i tempi. Posso solo vedere l'ora nell'output XCode
msk

13

no, ma potresti usare la riga di comando. cd nella directory del tuo progetto e digita

time xcodebuild

3

L'ho risolto con Run Scripts dentroBuild Phases

Ho aggiunto uno script di esecuzione al punto di inizio della build:

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

e uno alla fine:

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

Ora posso vedere l'ora in Build Log -> All Messages


1
In Xcode 6.4, non ti consente di trascinare una fase di creazione dello script di esecuzione prima di una qualsiasi delle fasi di compilazione "stock". Se crei un mucchio di fasi di costruzione aggiuntive, ti permetterà di riordinarle tra loro, ma sembra che tutte le fasi di costruzione "di serie" debbano venire prima. Hai trovato un modo per aggirare questo?
Jason Pepas

0

Dopo Xcode 10

  • se si crea dalla riga di comando, utilizzare -buildWithTimingSummaryper vedere il riepilogo del tempo di compilazione.
xcodebuild -buildWithTimingSummary
Build Timing Summary
CompileSwiftSources (1 task) | 5.434 seconds
PhaseScriptExecution (1 task) | 5.046 seconds
CompileAssetCatalog (1 task) | 2.788 seconds
CompileStoryboard (1 task) | 1.880 seconds CompileMetalFile (5 tasks) | 1.735 seconds
CopySwiftLibs (1 task) | 0.740 seconds
Ld (2 tasks) | 0.306 seconds
CodeSign (3 tasks) | 0.177 seconds
CompileC (1 task) | 0.170 seconds
MetalLink (2 tasks) | 0.046 seconds
Ditto (4 tasks) | 0.032 seconds
LinkStoryboards (1 task) | 0.023 seconds
  • Se si utilizza Xcode, Product->Perform Action->Build With Timing Summary. E vedi il riepilogo del tempo di costruzione nel registro di costruzione di Xcode.

Al giorno d'oggi l'argomento corretto della riga di comando è-showBuildTimingSummary
Morse
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.