Получить Xcode Build Time

Я хочу извлечь общее время сборки проекта XCode, отображаемое в небольшом поле над XCode, если вы включили defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES,

Я не нахожу никакой информации в .xcactivitylog файлы.

Я также попробовал подход, чтобы сэкономить время с помощью сценария фазы сборки на самом верху, но, включая некоторые модули, это также должно быть в каждом модуле как сценарий фазы сборки.

Xcode сохраняет эту информацию где-нибудь?

4 ответа

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

Этот случай можно решить с помощью сценариев, которые выполняются до и после сборки. Вы можете установить их в Xcode -> Настройки -> Поведения

На старте вы можете назначить:

#!/bin/sh
echo `date +%s` > test.txt

и в конце

#!/bin/sh
startTime=$(head -n 1 test.txt)
currentTime=`date +%s` 
diff="$(($currentTime - $startTime))"
# do whatever you need with compilation time

-> Перейти к терминалу -> каталог проекта cd

      defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

Для чего вам это нужно? Существуют альтернативные решения (например, использование Trrminal и xcodebuild), но это зависит от того, для чего это нужно.

Обновление: ОК, вы говорите, что это нужно для измерения времени сборки между разработчиками. В этом случае, я думаю, единственный API, который вы можете использовать, это API-интерфейс Accessibility, чтобы фактически запрашивать значения в интерфейсе Xcode.

Другие вопросы по тегам