Xcode에서 빌드하거나 테스트할 때 캐시를 지워야 하는 데에는 여러 가지 이유가 있습니다. 예를 들어, iPhone이나 iPad에서 웹사이트가 어떻게 작동하는지 확인하기 위해 iOS Simulator로 웹사이트를 테스트한다고 가정해 보겠습니다. 테스트를 마친 후 사이트 상의 JavaScript를 수정하면 사이트를 다시 열었을 때 서버가 아닌 캐시에서 JavaScript를 불러오므로 변경 사항이 제대로 표시되지 않을 수 있습니다. 이럴 때 캐시를 삭제하면 Simulator가 서버로부터 코드를 강제로 다시 불러오게 됩니다. Xcode 캐시를 지우는 또 다른 이유는 Xcode 충돌 문제를 해결하는 데 도움이 될 수 있기 때문입니다.
Xcode 캐시를 지우는 방법
1. 도구를 사용하여 Xcode 캐시 삭제하기
우선 Xcode에서 캐시를 자동으로 쉽게 삭제할 수 있는 방법부터 시작해 보겠습니다. CleanMyMac의 정크 청소에 기반한 기능을 사용하는 것인데, 몇 번의 버튼 클릭만으로 iOS Simulator를 청소할 수 있습니다. 정말 쉽고 빠르게 사용할 수 있으며 파일 시스템에 문제가 발생할 위험이 없습니다.
- 무료 에디션을 다운로드하고 앱을 실행합니다.
- 청소 탭으로 이동 후 스캔을 실행합니다.
- '모든 정크 파일 검토'를 클릭하고 Xcode 정크를 제거합니다.
이러면 끝입니다! 이제 수동으로 Xcode 캐시를 제거하는 방법을 살펴보겠습니다.
2. 빌드 클리닝
팁: Xcode 충돌 문제를 해결하려고 하는 경우, 먼저 프로젝트 빌드를 청소하는 것이 좋습니다. 이렇게 하면 현재 빌드가 제거되고 다음에 코드를 실행할 때 새로운 빌드가 생성됩니다.
- 프로젝트가 코드로 열려있는 상태에서 메뉴 막대로 이동 후 Product을 선택하고 Clean을 선택하거나 다음 작업 수행합니다.
- 프로젝트가 열리면 Command + Shift + K 키를 누릅니다.
3. 빌드 폴더를 청소하는 방법
빌드 폴더를 정리하고 캐시 파일을 제거하려면 다음과 같이 진행하세요:
- Code 프로젝트에서 Option (Alt) 키를 누른 상태로 Product 메뉴를 클릭한 다음 'Clean build folder, or:'를 선택합니다.
- Command + Shift + Option + K 키를 누릅니다.
4. Simulator 콘텐츠 및 설정 초기화
위의 단계를 수행한 후에도 문제가 해결되지 않으면 Simulator 콘텐츠와 설정을 초기화해보세요:
메뉴로 이동 후 'iOS Simulator'를 선택하고, 'Reset Content and Settings'를 클릭합니다.
5. Xcode 파생 데이터 삭제하기
'파생 데이터(Derived Data)'는 모든 임시 빌드 정보와 프로젝트 인덱스를 위한 장소입니다. 무언가 제대로 작동하지 않는 경우 폴더를 삭제해도 무방합니다.
이전의 방법을 적용했음에도 여전히 문제가 발생하거나 작동이 느린 경우, 파생 데이터를 삭제해 보시기 바랍니다. 삭제한 데이터는 다음에 Xcode를 실행할 때 강제로 재생성됩니다.
- 메뉴에서 Window > Organizer를 선택합니다.
- 이제 프로젝트를 고른 다음 프로젝트 선택을 클릭합니다.
- 삭제하려는 파생 데이터가 있는 프로젝트를 선택합니다.
- 창이 열리면 Finder 경로와 함께 파생 데이터 폴더가 나열되는 것을 볼 수 있습니다.
- 폴더 오른쪽에 삭제 버튼이 있습니다. 이 버튼을 누르세요.
이제 모듈 캐시를 삭제할 차례입니다.
- 다음 경로로 이동: ~/Library/Developer/Xcode/DerivedData/ModuleCache.
- ModuleCache 폴더 안에 있는 파일을 휴지통으로 드래그하고 휴지통을 비웁니다.
6. iOS 기기 지원 파일 삭제하기
파생 데이터 안에는 iOS device support라는 또 다른 폴더가 있습니다. Simulator를 사용하여 특정 iOS 버전을 테스트할 때마다 이 폴더 안에 새로운 폴더가 생성됩니다. 시간이 지남에 따라 이러한 폴더가 누적될 수 있습니다. 이러한 하위 폴더는 모두 삭제할 수 있으며 (iOS 기기 지원 폴더 자체는 삭제할 수 없음), 다음에 Simulator를 실행할 때 Xcode가 새 폴더를 생성합니다. 완전히 삭제하는 것이 마음에 놓이지 않는다면, 일단 임시 폴더로 옮긴 후 문제가 발생하는지 확인하고 삭제하는 것도 하나의 방법입니다.
7. 터미널 사용하기
위의 방법으로도 문제가 해결되지 않으면 터미널을 사용하여 Xcode의 환경설정을 초기화할 수 있습니다.
- 응용 프로그램 > 유틸리티 폴더에서 터미널을 실행합니다
- 다음과 같이 입력합니다: defaults delete com.apple.dt.Xcode
다음에 Xcode를 실행할 때 새로운 환경설정이 생성됩니다.
그밖에 'private/var/folders'로 이동하여 캐시 파일을 정리하는 방법이 있습니다. (Finder에서 '이동' 메뉴를 사용하고 '폴더로 이동'을 선택한 다음 해당 경로 입력) 이 폴더를 파헤쳐서 Xcode 캐시 파일을 찾아 삭제하는 방법입니다. 하지만 자신이 무엇을 하는지 확실히 아는 경우가 아니라면 이 방법을 추천하지 않습니다. 엉뚱한 파일을 제거하면 Xcode뿐만 아니라 OS 전체에 많은 문제가 발생할 수 있기 때문입니다. 드물게 이 방법을 시도한 사용자 중 일부는 macOS를 처음부터 다시 설치하는 수고를 겪기도 합니다.
Xcode에 문제가 발생하여 프로젝트 빌드를 정리해야 하거나 캐시를 지워야 하는 경우 앞서 알려드린 단계를 따르면 문제 해결에 도움이 됩니다. 수동으로 문제를 해결하는 경우 각각의 단계를 순서대로 따라가며 문제가 해결되었는지 매번 확인하는 것이 좋습니다. "private/var/folders"를 탐색하는 방법은 문제가 해결될 수는 있지만, macOS의 파일 디렉토리가 엉망이 될 위험이 있고 운영체제를 다시 설치해야 할 수도 있으므로 권장하지 않습니다. Xcode에서 iOS Simulator와 관련된 문제를 해결하는 가장 간단한 방법은 CleanMyMac 를 사용하여 캐시를 삭제하는 것입니다.
여기까지 읽어주셔서 감사합니다. 또 봅시다!