XcodeGen이 뭔가?
- Xcode 프로젝트의 폴더 구조나 프로젝트 spec을 생성해주는 커맨드 라인 툴(?)
- xcodeproj 파일은 소스코드 파일이 추가, 제거 등 될 때마다 변경되는데, 이 때 Merge Conflict가 자주 발생함.
- 이를 해결하고자 사용됨. 반복 코드 작업을 줄이고 협업 시 충돌 방지하기 위해 사용.
project spec?
project target, configurations, schemes, 커스텀 빌드 세팅 등의 옵션들을 정의하는 YAML or JSON 파일
좋은점
- .xcodeproj파일을 제거해 줘서 머지 컨플릭 날 일이 없어진다.
- 그룹과 파일들이 항상 동기화된다(?) - 뭔소리야
- configuration을 쉽게 설정 가능
- xcode에서 설정 할 필요없이 쉽게 파일과 디렉토리를 복붙 가능하다 - 해봐야 알 듯
- build setting groups를 사용하여 빌드 설정을 여러 target에 공유가능
- 다른 환경의 여러 스키마를 자동적으로 생성해준다.
- 프로젝트 만들 때, xcode로는 복잡한 설정을 쉽게 해줌
- CI를 포함한 어디에서든 생성 가능하다
- spec을 여러 파일 간에 서롱 공유 및 오버라이딩이 가능하다.
- 쉽게 멀티플랫폼 프레임워크를 만들 수 있다.
project.yml 생성하기