Xcode의 Target, Project, Workspace 개념 - ehrldyd15/Swift_Skills GitHub Wiki

Xcode의 Target, Project, Workspace 개념

Xcode에서의 Target

  • Project나 Workspace의 파일들을 Build하여 생성되는 End Product를 의미

스크린샷 2022-08-09 오전 9 35 05

Xcode에서의 Project

  • 모든 파일, 리소스를 빌드하는데 필요한 정보의 저장소(repository)

  • 프로젝트는 빌드하는 방법을 명시하는 end product인 target을 하나 이상 포함

스크린샷 2022-08-09 오전 9 46 16

  • Project가 가지고 있는 정보

    • 소스파일에 대한 참조

    • structure navigator에서 소스파일을 그룹화

    • Debug, Release와 같은 build configuration을 설정 가능

  • .xcodeproj라는 디렉토리에 터미널을 통해서 들어가면 아래와 같은 정보가 존재

    • project.pbxproj - 각 파일들의 참조값들을 UUID들로 정의되어 있는 파일

스크린샷 2022-08-09 오전 9 59 44

Xcode에서의 workspace

  • Xcode의 Project 및 기타 리소스를 그룹하하여 함께 작업할 수 있는 Xcode document

  • 다수의 Project를 사용하고 싶은 경우, workspace 하위로 관리

  • 각 Project의 파일을 구성하는것 외에도 workspace에 포함된 Project들과 Target간의 관계를 제공

예를들어) pod install 시에 workspace가 생기는데, 내부를 들어가보면 Pods Project가 생긴것을 확인

Project가 2개 이상 되었기 때문에 이들의 관계를 하나로 묶어서 관리할 Workspace가 필요하여 pod install하면 자동으로 workspace가 생성

스크린샷 2022-08-09 오전 10 15 47

참고 자료

https://ios-development.tistory.com/1008