How to enable build timing in Xcode?

Solution 1:

Type this in the terminal:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

Duration appears in the activity viewer after a build, alongside the "Succeeded" message.

If you are running the app, the status will be replaced by the running status before you can see the duration.

This replaces the entry that was used in older versions of Xcode:

defaults write com.apple.Xcode ShowBuildOperationDuration YES

Xcode may need to be closed before you enter this command. Durations should appear at the bottom left of the project window.

Comment from an Xcode developer: "As with all undocumented user defaults, this is unsupported, assumed (but not guaranteed) accurate, and not assured to be effective in future versions."

Solution 2:

In Xcode 10, you are now able to see a great breakdown of the build times using their Timing Summary feature.

Product->Perform Action->Build With Timing Summary

This will show each of your target build times and the overall project build time. You can do a lot of analysis using this data and build times will depend on your hardware. Check out Building Faster in Xcode from WWDC 2018 if you care to learn more.

However, Xcode keeps track of all your builds by default and you can examine their times and logs by going to their Report Navigator.

Build Logs within Report Navigator

Solution 3:

no, but you could use the command line. cd to your project directory and type

time xcodebuild

Solution 4:

I solved it with Run Scripts in Build Phases

I have added one Run Script at start point of the build:

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

and one at the end:

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

Now i can see the time in Build Log -> All Messages