Notice
Recent Posts
Recent Comments
Link
관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] 빌드 로그 json형태로 뽑아보기 (xcresult, xcactivitylog, XCLogParser) 본문

최적화하기

[iOS - swift] 빌드 로그 json형태로 뽑아보기 (xcresult, xcactivitylog, XCLogParser)

jake-kim 2025. 12. 3. 01:42

xcactivitylog

  • Xcode가 빌드/테스트/아카이브할 때 생성되는 빌드 로그의 원본 파일
    (= Xcode UI에서 보는 Build Log 화면(⌘ + 9)의 실제 데이터 파일)

  • 바이너리 파일은 아래 경로에 위치
    • ~/Library/Developer/Xcode/DerivedData/<Project>/Logs/Build/
  • 얻어내는 법
    • Xcode > Build > 오른쪽마우스 > Show in Finder 클릭

  • Show in Finder 클릭 시 Logs/Launch에 들어가게됨

  • 여기서 Logs/Launch가 아닌, Logs/Build 경로에 가야하므로 Logs경로로 이동한 다음 Build 폴더로 이동
    • 마침내 UUID.xcactivitylog 파일 획득이 가능

  • 들어있는 정보들
    • 전체 빌드 타임라인
    • 각 빌드 단계별 duration
    • 컴파일러가 어떤 파일을 빌드했는지
    • Warning, Error 메시지
    • SwiftCompile, Link, Run Script, Previews 등 모든 빌드 스텝
    • Bitcode/LLVM 단계
    • 인덱싱(indexing) 관련 시간
    • Test 실행 로그
    • 증분 빌드 캐시 사용 여부

xcactivitylog 파일 json 형태로 뽑아보기

  • XCLogParser를 사용하여 json으로 뽑기가 가능
brew install xclogparser
  • xcactivity 파일의 경로를 얻어오기위해 오른쪽 클릭 > "정보 가져오기" 클릭

  • 위치 > path를 복사
    • path를 복사한 다음 파일 이름도 복사
      `/Users/jake/Library/Developer/Xcode/DerivedData/Performance1-frzqzmwaccvbjdfswawhmgkwahke/Logs/Build/51597595-B89A-4E8E-BC1C-842C12F78CD8.xcactivitylog`

  • 아래 명령어를 통해 json형태로 추출 가능
xclogparser parse --project Your.xcactivitylog --output output.json

ex) 

xclogparser dump --file /Users/jake/Library/Developer/Xcode/DerivedData/Performance1-frzqzmwaccvbjdfswawhmgkwahke/Logs/Build/51597595-B89A-4E8E-BC1C-842C12F78CD8.xcactivitylog --output activity.json
  • 생성된 activity.json을 열어보면 약 2000줄의 json 데이트 획득 가능

 

* XCLogParser git: https://github.com/MobileNativeFoundation/XCLogParser

Comments