Xcode의 파일 추가/삭제 옵션에 대해 설명하기 전에
파일에 대한 참조는 xcodeproj/project.pbxproj 파일에 저장하고 있다.
따라서, 파일을 추가하거나 삭제한 경우 project.pbxproj도 함께 커밋해줘야 한다. (협업 시 실수하게 되면 은근 귀찮다..)
Xcode에 파일 추가하기
Xcode 네비게이터 영역에 파일/폴더를 드래그 앤 드랍하여 추가하면 아래와 같은 창이 뜬다.
1. Destination
- Copy items if needed
파일을 복사하여 추가하는 옵션으로, 꼭 체크하는 것이 좋다.
이 옵션 없이 추가한다면 프로젝트 폴더로 복사되지 않고 원본의 레퍼런스를 참조하게 된다. 따라서 원본의 폴더가 변경되거나 삭제되었을때 더 이상 해당 파일을 사용할 수 없게 된다.
또한, 내 project.pbxproj 파일에는 반영이 되어 있지만 이대로 git에 커밋하게 된다면 다른 사람들에게는 해당 파일이 존재하지 않아 오류가 발생할 수 있다.
2. Added folders
- 파일 추가
해당 옵션은 'Added folders' 옵션으로, 파일 추가에 대해서는 두 옵션에 대한 차이가 없다.
- 폴더 추가
1) Create groups
- 노란 폴더가 생성된다.
- 가상 폴더의 개념으로 파일 시스템(Finder)을 의미하지 않는다.
- Finder에서 폴더 내에 파일을 추가해도 프로젝트 폴더 내에는 반영되지 않는다.
- Finder에서 폴더의 이름을 변경해도 프로젝트 내에서 폴더가 남아 있다. (내부 파일은 사용할 수 없다.)
- Finder에서 폴더를 삭제해도 프로젝트 내에 폴더는 남아 있다. (내부 파일은 사용할 수 없다.)
2) Create folder references
- 파란 폴더가 생성된다.
- 파일 시스템(Finder)의 폴더에 일대일 맵핑된다. 따라서, 변경 내역이 반영된다.
- Finder에서 폴더 내에 파일을 추가하면 프로젝트 폴더 내에도 파일이 추가된다.
- Finder에서 폴더의 이름을 변경하면 프로젝트 내에서 폴더가 삭제된다.
- Finder에서 폴더를 삭제하면 프로젝트 내에서도 폴더가 삭제된다.
Xcode에서 파일 삭제하기
- Remove Reference
파일에 대한 참조만 제거된다. 따라서 파일 추가 시 Copy items if needed 옵션을 선택하지 않았다면, 참조만 제거하여도 상관없다.
만약 Copy items if needed 옵션을 선택하여 추가했는데 Remove Reference로 제거한다면 실제 프로젝트 폴더에 파일은 남아있지만, 참조만 제거가 된 상태이다. 남은 파일은 Finder에서 직접 삭제할 수 있다.
- Move to Trash
파일에 대한 참조와 함께 Finder에서 확인할 수 있는 물리적인 파일까지 함께 제거된다.
'iOS' 카테고리의 다른 글
[iOS] WebView Debugging하기 - Safari Technology Preview 사용 방법 (0) | 2021.08.04 |
---|
댓글