-
Xcode 빠른 빌드가 필요할때 - diagnostic-options 와 그외Swift 2021. 4. 20. 10:48
컴파일 타임을 확인하기
DerivedData 파일 삭제
rm -rf ~/Library/Developer/Xcode/DerivedData
rm -rf ~/Library/Developer/Xcode/DerivedData
(가끔 원인불명 warning이 날때 derivedData 파일을 삭제하면 해결될때가 있다)
Clean Build
아래 명령어 입력
defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES
defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES
위를 바탕으로 빌드시간을 측정할 수 있다.
최적화
프로젝트 명 - Build Settings 를 확인합니다.
debug 모드 일때 최소, Release 일때 최대입니다.
아래는 최적화 옵션 설명입니다.
아래의 Whole Module 및 속도 optimization 세팅도 최적화를 위해 Set해줍니다.
병렬 빌드 활성화
Edit Scheme 에서 Build Tab Build Options Parallelize Build 체크
컴파일 시간이 크게 지연되는 코드 식별
사실 이부분을 기록하고 싶어서 시작된 포스팅이다. SwiftLint나 기본 Warning으로 잡히진 않지만, lazy code를 지양하기 위한 방법으로 좋은것 같다.
아래처럼 설정하면 limit: 워닝이 뜬다...!!!
작성 코드
-Xfrontend -warn-long-function-bodies=200 -Xfrontend -warn-long-expression-type-checking=200
자세한 방법 및 내용 설명은 아래를 참고하면 된다.
https://github.com/apple/swift/blob/main/docs/CompilerPerformance.md#diagnostic-options
방법은 아래 참고
medium.com/flawless-app-stories/improve-your-xcode-swift-compile-time-d9c1d3786473
결론
자, 이렇게 해서 경고가 나는 아이들을 복잡한 수식을 분리 하는등을 통해 빌드 속도를 높일 수 있습니다.
728x90'Swift' 카테고리의 다른 글
Value Type과 Reference Type 이란 (0) 2021.04.20 DTO, VO란 (Swift 버전) (0) 2021.04.20 SwiftLint 적용하기 (0) 2021.04.19 ios 14 위젯 만들기 (0) 2021.03.17 Xcode Build Settings 타겟분리 (0) 2021.03.08