Xcodeでビルドタイミングを有効にする方法は?


90

プロジェクトのビルドにかかる時間を知りたい(ビルドペインに表示するなど)。このオプションはXcodeのどこかで利用できますか?

ありがとう。

回答:


178

これをターミナルに入力します:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

ビルド後、「成功」メッセージとともに、期間がアクティビティビューアに表示されます。

アプリを実行している場合は、期間が表示される前に、ステータスが実行中のステータスに置き換えられます。

これは、Xcodeの古いバージョンで使用されていたエントリを置き換えます。

デフォルトはcom.apple.Xcodeを書き込みますShowBuildOperationDuration YES

このコマンドを入力する前に、Xcodeを閉じる必要がある場合があります。期間はプロジェクトウィンドウの左下に表示されます。

Xcode開発者からのコメント:「ドキュメント化されていないすべてのユーザーデフォルトと同様に、これはサポートされておらず、正確であると想定されていますが(保証はされていません)、将来のバージョンで有効であるとは限りません。」


7
これはXcode 6でも機能します。ビルド時間は、ウィンドウのタイトルバーの下に表示されます。
Klaas 2014

6
@bobobobo Xcode 6.1.1で時間が表示される場所のスクリーンショット<img src = " i.imgur.com/6KkYdls.png ">
chunkyguy

2
それをファイルに印刷する方法はありますか?
AlexBartiş2015

1
Xcode 7.1.1でこれが機能することを確認します(新しいを使用com.apple.dt.Xcode
Jedidja '18

1
アクティビティビューアがxcodeの上部中央にあるウィンドウで、他に誰かが疑問に思っている場合は、現在ビルドされているものと、プロセスのどこにあるかが表示されます。
Warpzit 2016年

13

いいえ、ただしコマンドラインを使用できます。プロジェクトディレクトリにcdして、次のように入力します。

time xcodebuild

13

Xcode 10では、タイミングサマリ機能を使用して、ビルド時間の大きな内訳を確認できるようになりました。

製品->アクションの実行->タイミングサマリでビルド

これにより、各ターゲットビルド時間とプロジェクト全体のビルド時間が表示されます。このデータを使用して多くの分析を行うことができ、ビルド時間はハードウェアに依存します。詳細については、WWDC 2018のXcodeでのFaster Buildingをご覧ください。

ただし、Xcodeはデフォルトですべてのビルドを追跡しているため、レポートナビゲーターに移動して、ビルドの時間とログを調べることができます。

レポートナビゲーター内でログを作成する


XCodeからのビルドログをタイミング付きで保存する方法はありません。XCodeの出力では時間しか確認できません
msk

3

私はそれをRun Scriptsで解決しましたBuild Phases

ビルドの開始点に実行スクリプトを1つ追加しました。

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

そして最後に1つ:

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

これで、ビルドログ->すべてのメッセージで時間を確認できます


1
Xcode 6.4では、「ストック」ビルドフェーズの前に実行スクリプトビルドフェーズをドラッグすることはできません。一連の追加のビルドフェーズを作成すると、それらを相互に並べ替えることができますが、すべての「ストック」ビルドフェーズを最初に行う必要があるようです。これを回避する方法を見つけましたか?
Jason Pepas

0

Xcode 10以降

  • コマンドラインからビルドする場合は、を使用-buildWithTimingSummaryしてビルド時間の概要を確認します。
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を使用する場合、Product->Perform Action->Build With Timing Summary。Xcodeのビルドログでビルド時間の概要を確認してください。

現在、正しいコマンドライン引数は-showBuildTimingSummary
Morse
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.