Xcode'da derleme zamanlaması nasıl etkinleştirilir?


91

Örneğin, yapı bölmesinde görüntüleyerek projemin yapılarının ne kadar sürdüğünü bilmek istiyorum. Bu seçenek Xcode'da herhangi bir yerde mevcut mu?

Teşekkürler.

Yanıtlar:


180

Bunu terminale yazın:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

Bir derlemeden sonra etkinlik görüntüleyicide "Başarılı" mesajıyla birlikte süre görünür.

Uygulamayı çalıştırıyorsanız, süreyi görebilmeniz için durum, çalışma durumu ile değiştirilecektir.

Bu, Xcode'un eski sürümlerinde kullanılan girişin yerini alır:

varsayılanlar com.apple.Xcode yazın ShowBuildOperationDuration YES

Bu komutu girmeden önce Xcode'un kapatılması gerekebilir. Süreler, proje penceresinin sol altında görünmelidir.

Bir Xcode geliştiricisinin yorumu: "Tüm belgelenmemiş kullanıcı varsayılanlarında olduğu gibi, bu desteklenmez, doğru olduğu varsayılır (ancak garanti edilmez) ve gelecekteki sürümlerde etkili olacağı garanti edilmez."


7
Bu, Xcode 6 için de geçerlidir. Oluşturma süresi, pencere başlık çubuğunun altında gösterilir.
Klaas

6
@bobobobo Saatin Xcode 6.1.1'de göründüğü yerin ekran görüntüsü <img src = " i.imgur.com/6KkYdls.png ">
chunkyguy

2
Bir dosyaya yazdırmanın bir yolu var mı?
Alex Bartiş

1
Bunun benim için Xcode com.apple.dt.Xcode
7.1.1'de

2
Aktivite görüntüleyiciyi merak eden başka biri varsa, xcode'un ortasındaki penceredir ve şu anda neyin inşa edildiğini ve sürecin ne kadar ilerisinde olduğunu gösterir.
Warpzit

14

Xcode 10'da, artık Zamanlama Özeti özelliğini kullanarak derleme sürelerinin büyük bir dökümünü görebilirsiniz.

Ürün-> İşlem Yap-> Zamanlama Özeti ile Oluştur

Bu, her bir hedef oluşturma sürenizi ve genel proje oluşturma süresini gösterecektir. Bu verileri kullanarak birçok analiz yapabilirsiniz ve derleme süreleri donanımınıza bağlı olacaktır. Check out Xcode hızlı Bina Daha fazla bilgi edinmek için bakım WWDC 2018 den.

Ancak, Xcode varsayılan olarak tüm derlemelerinizin kaydını tutar ve bunların zamanlarını ve günlüklerini Rapor Gezgini'ne giderek inceleyebilirsiniz.

Rapor Gezgini içinde Günlük Oluşturun


derleme günlüğünü XCode'dan zamanlamalarla kaydedebilmemin bir yolu yok. Saati yalnızca XCode çıktısında görebiliyorum
msk

13

hayır, ancak komut satırını kullanabilirsiniz. proje dizininize cd ve yazın

time xcodebuild

3

Run ScriptS ile çözdümBuild Phases

Yapının başlangıç ​​noktasında bir Çalıştırma Komut Dosyası ekledim:

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

ve sonunda bir:

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

Artık zamanı Derleme Günlüğü -> Tüm Mesajlar'da görebiliyorum


1
Xcode 6.4'te, herhangi bir "stok" oluşturma aşamasından önce bir çalıştırma komut dosyası oluşturma aşamasını sürüklemenize izin vermez. Bir grup ek oluşturma aşaması oluşturursanız, bunları kendi aralarında yeniden sıralamanıza izin verir, ancak görünen o ki, tüm "stok" oluşturma aşamaları önce gelir. Bunu aşmanın bir yolunu buldun mu?
Jason Pepas

0

Xcode 10'dan sonra

  • komut satırından -buildWithTimingSummaryderlerseniz, derleme zamanı özetini görmek için kullanın .
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
  • Xcode kullanıyorsanız Product->Perform Action->Build With Timing Summary,. Ve Xcode bina günlüğünde inşa süresi özetini görün.

Bugünlerde doğru komut satırı argümanı-showBuildTimingSummary
Morse
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.