Как включить время сборки в Xcode?

Я хотел бы знать, сколько времени занимает сборка моего проекта, например, отображая его на панели сборки. Эта опция доступна где-нибудь в Xcode?

Спасибо.


person Guillaume    schedule 22.06.2009    source источник


Ответы (5)


Введите это в терминале:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

Продолжительность отображается в средстве просмотра активности после сборки вместе с сообщением «Успешно».

Если вы используете приложение, статус будет заменен статусом выполнения, прежде чем вы сможете увидеть продолжительность.

Это заменяет запись, которая использовалась в более старых версиях Xcode:

по умолчанию пишет com.apple.Xcode ShowBuildOperationDuration YES

Перед вводом этой команды может потребоваться закрыть Xcode. Продолжительность должна отображаться в левом нижнем углу окна проекта.

Комментарий от разработчика Xcode: «Как и все недокументированные пользовательские значения по умолчанию, это не поддерживается, предполагается (но не гарантируется) точным и не гарантируется его эффективность в будущих версиях».

person Guillaume    schedule 10.05.2010
comment
Я могу подтвердить, что это работает хорошо. Закройте xcode. введите вышеуказанное и перезапустите xcode. В левом нижнем углу главного окна проекта указано: Сборка выполнена успешно [xxx sec] - person Danny Parker; 16.12.2010
comment
Это было для XCode 4? Скриншот где он должен появиться? - person bobobobo; 02.05.2013
comment
Я думаю, что это было для XCode 3. Я совершенно не помню, чтобы оставить комментарий и нашел эту страницу, так как снова ищу решение. - person Danny Parker; 26.06.2013
comment
Это работает и для Xcode 6. Время сборки отображается под строкой заголовка окна. - person Klaas; 19.09.2014
comment
@bobobobo Скриншот, где отображается время в Xcode 6.1.1 ‹img src=i.imgur.com/6KkYdls .png - person chunkyguy; 02.02.2015
comment
Все еще работает в Xcode 6.4 и 7 beta 3. Отображается на панели просмотра активности, как показано @bobobobo. - person phatblat; 14.07.2015
comment
Есть ли способ распечатать его в файл? - person Alex Bartiş; 23.09.2015
comment
Подтверждает, что это работает для меня в Xcode 7.1.1 (с использованием более новой версии com.apple.dt.Xcode) - person Jedidja; 19.11.2015
comment
defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES работал и для Xcode 7.2 (7C68). - person Harshavardhan; 14.01.2016
comment
Он работает в версии 7.3 скриншот - person devxoul; 13.04.2016
comment
Извините, не могу найти ничего с именем средства просмотра активности в меню Xcode или оконных панелях, чтобы увидеть результаты в - (Xcode 7.2). Где это отображение длительности? - person Motti Shneor; 09.10.2016
comment
Если кому-то еще интересно, средство просмотра активности — это окно в середине верхней части xcode, где оно показывает, что в данный момент строится и как далеко он находится в процессе. - person Warpzit; 21.11.2016
comment
Работает и в Xcode 12 ???? Они должны начать документировать это ???? - person blackjacx; 30.06.2021

В Xcode 10 вы теперь можете увидеть большую разбивку времени сборки, используя их функцию сводки по времени.

Продукт->Выполнить действие->Создать со сводкой по времени

Это покажет каждое из ваших целевых значений времени сборки и общее время сборки проекта. Вы можете провести большой анализ, используя эти данные, и время сборки будет зависеть от вашего оборудования. Ознакомьтесь с Создание быстрее с Xcode из WWDC 2018, если вы хотите узнать больше.

Однако Xcode по умолчанию отслеживает все ваши сборки, и вы можете просмотреть их время и журналы, перейдя в их навигатор отчетов.

Журналы построения в навигаторе отчетов

person Andrew    schedule 26.07.2018
comment
я никак не могу сохранить журнал сборки из XCode с таймингами. Я могу видеть только время в выводе XCode - person msk; 16.02.2019

нет, но вы можете использовать командную строку. cd в каталог вашего проекта и введите

time xcodebuild
person Nikolai Ruhe    schedule 22.06.2009

Я решил это с помощью Run Scripts в Build Phases

Я добавил один сценарий запуска в начальной точке сборки:

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

и один в конце:

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

Теперь я могу видеть время в журнале сборки -> Все сообщения.

person adsurbum    schedule 29.09.2014
comment
В Xcode 6.4 он не позволит вам перетаскивать фазу сборки сценария запуска перед любой из фаз стандартной сборки. Если вы создадите несколько дополнительных этапов сборки, это позволит вам переупорядочить их между собой, но, похоже, все этапы стандартной сборки должны быть первыми. Вы нашли способ обойти это? - person Jason Pepas; 03.08.2015

После Xcode 10

  • если вы строите из командной строки, используйте -showBuildTimingSummary , чтобы увидеть сводку времени сборки.
xcodebuild -showBuildTimingSummary
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.
person RY_ Zheng    schedule 06.07.2020
comment
В настоящее время правильный аргумент командной строки -showBuildTimingSummary - person Morse; 19.08.2020