오늘은 git clone
하다가 만난 에러 놈을 해결해보겠습니다.
GitLab에서 프로젝트를 git clone
해서 로컬로 받아왔는데, 파일을 찾을 수 없다는 에러가 발생했습니다.
Pods 디렉토리의 하위 파일들을 찾을 수 없다고 하네요.
Unable to load contents of file list: '/Target Support Files/Pods-ProjectName/Pods-ProjectName-frameworks-Debug-input-files.xcfilelist’
Unable to load contents of file list: '/Target Support Files/Pods-ProjectName/Pods-ProjectName-frameworks-Debug-output-files.xcfilelist’
/Users/yujin/Desktop/Test/ProjectName-ios/Pods/Target Support Files/Pods-ProjectName/Pods-ProjectName.debug.xcconfig:1:1 unable to open configuration settings file
삽질하다보니 GitLab에 프로젝트를 올리신 분이 Pods 파일을 빼고 Push 해놓으셨다는 것을 알았어요..!
자료에서 말하듯이 보통 Pods 디렉토리는 제외하고 Push한다고 하네요.
그 이유로는 코드만 작성하면( pod install
등) 자동으로 생성되는 파일들은 그때 그때 생성할 수 있기 때문에,
굳이 같이 업로드해서 저장소의 용량을 차지할 필요가 없기 때문이라고 해요!
그래서 굳이 저장소에 업로드하지 않아도 되는 파일들을 제외하기 위해 .gititnore
파일을 사용해요.
.gitignore
파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이라고 해요.
그래서 여기에 Pods/
이런식으로 적으면 저 Pods/
파일을 제외하고 업로드된다고 합니다. ㅎ.ㅎ
이제 우리가 마주한 에러가 왜 발생한 것인지 짐작해볼 수 있을 거 같아요.
정상적으로 우리의 프로젝트가 빌드되려면 Pods 디렉토리
가 프로젝트 내부에 존재해야하는데,
원격 저장소에 Pods 디렉토리를 제외하고 프로젝트를 업로드 해놓아서, clone 받았을 때 Pods 디렉토리가 제외된
프로젝트를 받았어요. 즉, Pods 디렉토리가 존재하지 않아 오류가 발생
한거죠.
그럼 Pods 디렉토리를 생성하면 문제없이 빌드될 것 같네요! Pods 디렉토리는 어떻게 생성할 수 있을까요?
위에서 저장소에 Pods 파일을 업로드하지 않는 이유를 언급했었어요.
바로 코드 작성을 통해 자동으로 생성되는 파일은 굳이 업로드하여 저장소의 용량을 줄일 필요가 없다는 이유였죠!
그럼 정말 코드 작성으로 Pods 디렉토리가 자동 생성되는지 확인해볼까요?
우리의 프로젝트에서 아래 코드를 작성해줍니다. 그럼 생성된 Pods 디렉토리를 확인할 수 있을거예요.
pod install