서론
- XCode는 명령어들의 집합
- 명령어들이 어떤 순서로 어떻게 실행되는지에 대한 것이 Build Phase
- TARGETS → Build Phases로 이동
- Build가 되면, Target Dependencies부터 Copy Bundle Resources까지 순서대로 Build를 진행
Target Dependencies
- 앱이 빌드되기 전에 먼저 빌드 되어야할 것들의 의존성을 설정할 수 있음
- SPM이나 Pods로 추가된 외부 라이브러리 및 Apple 프레임워크는 Target Dependencies에 명시적으로 추가하지 않아도 됨 → 프레임워크를 추가할 때, 알아서 종속성을 관리해 줌
Run Build Tool Plug-ins
- 앱이 빌드 될 때 플러그인들을 등록할 수 있는 곳
Compile Sources
- 앱이 컴파일 되어야 할 대상들을 등록할 수 있는 곳
- 만약 특정 파일이 등록되어 있지 않다면, 에러가 발생
- 특정 파일에 Compiler Flags에 컴파일 조건을 걸 수 있음
- 예를 들어 Objective-C에서 ARC를 MRC로 사용할 수 있음
Link Binary With Libraries
- 프로젝트의 바이너리와 해당 라이브러리간의 연결을 설정
- 간단히 말해서, 프로젝트의 바이너리와 프레임워크 바이너리간의 연결을 설정하여 프로젝트가 외부 프레임워크를 사용할 수 있도록 하는 것
- Target Dependencies와는 달리 SPM 및 Pods로 등록한 라이브러리를 등록해야함
Copy Bundle Resources
- App Bundle에 복사할 코드외의 리소스 파일을 지정
- 일반적으로 앱에서 사용되는 이미지, 사운드, 폰트, String파일 등이 사용
- 기본적으로 제공되는 StoryBoard, XCAssets이 여기에 포함