Xcode에서 빌드 타이밍을 활성화하는 방법은 무엇입니까?


90

예를 들어 빌드 창에 표시하여 프로젝트 빌드에 걸리는 시간을 알고 싶습니다. 이 옵션은 Xcode 어딘가에서 사용할 수 있습니까?

감사.

답변:


179

터미널에 다음을 입력하십시오.

defaults write com.apple.dt.Xcode ShowBuildOperationDuration YES

빌드 후 활동 뷰어에 "성공"메시지와 함께 기간이 표시됩니다.

앱을 실행중인 경우 기간을 확인하기 전에 상태가 실행 중 상태로 대체됩니다.

이것은 이전 버전의 Xcode에서 사용 된 항목을 대체합니다.

기본값 쓰기 com.apple.Xcode ShowBuildOperationDuration YES

이 명령을 입력하기 전에 Xcode를 닫아야 할 수 있습니다. 기간은 프로젝트 창의 왼쪽 하단에 표시되어야합니다.

Xcode 개발자의 의견 : "문서화되지 않은 모든 사용자 기본값과 마찬가지로 이는 지원되지 않으며 정확하다고 가정 (보장되지는 않음)하며 향후 버전에서 효과가 있다고 보장되지 않습니다."


7
이것은 Xcode 6에서도 작동합니다. 빌드 시간은 창 제목 표시 줄 아래에 표시됩니다.
Klaas

6
@bobobobo Xcode 6.1.1에서 시간이 표시되는 위치의 스크린 샷 <img src = " i.imgur.com/6KkYdls.png ">
chunkyguy

2
파일로 인쇄 할 수있는 방법이 있습니까?
Alex Bartiş 2015 년

1
이것이 Xcode 7.1.1에서 작동하는지 확인합니다 (최신 버전 사용 com.apple.dt.Xcode)
Jedidja

2
다른 사람이 궁금해하는 경우 활동 뷰어는 xcode의 중간 상단에있는 창으로 현재 빌드중인 항목과 진행중인 프로세스를 보여줍니다.
Warpzit

14

Xcode 10에서는 이제 Timing Summary 기능을 사용하여 빌드 시간을 크게 분류 할 수 있습니다.

제품-> 작업 수행-> 시간 요약으로 빌드

그러면 각 대상 빌드 시간과 전체 프로젝트 빌드 시간이 표시됩니다. 이 데이터를 사용하여 많은 분석을 수행 할 수 있으며 빌드 시간은 하드웨어에 따라 다릅니다. 자세한 내용은 WWDC 2018의 Xcode 에서 더 빠르게 빌드를 확인하십시오 .

그러나 Xcode는 기본적으로 모든 빌드를 추적하고 보고서 네비게이터로 이동하여 시간과 로그를 검사 할 수 있습니다.

보고서 네비게이터 내에서 로그 작성


타이밍과 함께 XCode에서 빌드 로그를 저장할 수있는 방법이 없습니다. XCode 출력에서만 시간을 볼 수 있습니다
msk

13

아니요,하지만 명령 줄을 사용할 수 있습니다. 프로젝트 디렉토리로 이동하고 다음을 입력하십시오.

time xcodebuild

3

나는 Run Scripts로 그것을 해결했다 .Build Phases

빌드 시작점에 하나의 실행 스크립트를 추가했습니다.

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

그리고 끝에 하나 :

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

이제 빌드 로그-> 모든 메시지에서 시간을 볼 수 있습니다.


1
Xcode 6.4에서는 "stock"빌드 단계 이전에 실행 스크립트 빌드 단계를 드래그 할 수 없습니다. 추가 빌드 단계를 여러 개 생성하면 해당 단계를 다시 정렬 할 수 있지만 모든 "스톡"빌드 단계가 먼저 와야합니다. 이 문제를 해결할 방법을 찾았습니까?
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.