iOS 기본 (swift)
[iOS - swift] Xcode의 Target, Project, Workspace 개념
jake-kim
2022. 6. 16. 22:01
Xcode에서의 Target
- Project나 Workspace의 파일들을 Build하여 생성되는 End Product를 의미
Xcode에서의 Project
- 모든 파일, 리소스를 빌드하는데 필요한 정보의 저장소 (repository)
- 프로젝트는 빌드하는 방법을 명시하는 end product인 target을 하나 이상 포함
- Project가 가지고 있는 정보
- 소스파일에 대한 참조
- structure navigator에서 소스파일을 그룹화
- Debug, Release와 같은 build configuration을 설정 가능
- .xcodeproj라는 디렉토리에 터미널을 통해서 들어가면 아래와 같은 정보가 존재
- project.pbxproj - 각 파일들의 참조값들을 UUID들로 정의되어 있는 파일
cd {projectName}.xcodeproj
open .
ls -a
. project.pbxproj xcuserdata
.. project.xcworkspace
Xcode에서의 workspace
- Xcode의 Project 및 기타 리소스를 그룹하하여 함께 작업할 수 있는 Xcode document
- 다수의 Project를 사용하고 싶은 경우, workspace 하위로 관리
- 각 Project의 파일을 구성하는것 외에도 workspace에 포함된 Project들과 Target간의 관계를 제공
ex) pod install 시에 workspace가 생기는데, 내부를 들어가보면 Pods Project가 생긴것을 확인
> Project가 2개 이상되었기 때문에 이들의 관계를 하나로 묶어서 관리할 Workspace가 필요하여 pod install하면 자동으로 workspace가 생성