캐시를 비우고 모든 대상을 정리하는 방법 Xcode 4 이상


238

Jonathan은 여기에 제안합니다 : Xcode 삭제 된 .xib 파일을 포함합니다! 모든 대상을 정리하고 캐시를 비우면 삭제 된 .xib 파일을 포함하여 Xcode의 문제가 해결되지만 Xcode 4에서 캐시를 비우는 방법을 찾을 수 없습니다.

Xcode 4에서 어떻게합니까?


다음은 xCode 5와 6 모두에 대한 파생 데이터를 삭제하는 [쉘 스크립트 솔루션] [1]입니다. [1] : stackoverflow.com/a/27977848/1231948
Sheamus

답변:


514

빌드 폴더를 정리하는 Command-Option-Shift-K 더 좋은 방법은 Xcode를 종료하고 ~ / Library / Developer / Xcode / DerivedData를 수동으로 정리하는 것 입니다. Xcode가 어딘가에있는 이전 버전의 프로젝트를 실행하는 버그가 있기 때문에 모든 내용을 제거하십시오 . (Xcode 4.2는 Derived Data 폴더를 보여줍니다 : Window> Organizer를 선택하고 Projects 탭으로 전환하십시오. Derived Data 폴더 이름의 오른쪽에있는 오른쪽 화살표를 클릭하십시오.)

시뮬레이터에서 iOS 시뮬레이터> 컨텐츠 및 설정 재설정을 선택하십시오.

마지막으로, 완전성을 위해 / var / folders 의 내용을 삭제할 수 있습니다 . 캐싱도 발생합니다.

경고 : / var / 폴더를 삭제 하면 문제가 발생할 수 있으므로 운영 체제를 수리하거나 다시 설치해야합니다.

편집 : 방금 / var / folders / 를 사용하여 두려워하는 경우 터미널에서 다음 명령을 사용하여보다 구체적인 방법으로 삭제할 수 있습니다.

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

편집 : 특정 Swift 관련 문제에 대해 ~ / Library / Caches / com.apple.dt.Xcode 를 삭제하는 것이 유용하다는 것을 알았습니다 . 다운로드 한 설명서 세트의 예비 복사본과 같이이 작업을 수행하면 많은 손실이 발생하지만 그만한 가치가 있습니다.


6
라이브러리, 개발자 / Xcode / DerivedData + 컨텐츠 재설정 및 시뮬레이터 설정 작업이 훌륭합니다.
Tieme

10
경로 홈 디렉토리 (주 물결표)에있는 것으로 나타납니다 ~ / 라이브러리 / 개발자 / 엑스 코드 / DerivedData 아마이 다른 사람에게 분명했지만, 경우 다른 사람에 ... 문제가 있습니다
빅터 반 희를

37
Hehe, übern00b는 Xcode / my 프로젝트에서 온 것을 찾은 / var / db를 삭제했습니다. 파일 시스템에서 5 시간 분량의 저널링, 라이온 수리 및 재설치 등의 비용이 발생했습니다. :-)
Jonas Byström

4
@Jonas "삭제 / var / 폴더"조언에 경고를 추가해야한다는 느낌이 들었습니다. 그것은 시작되지 않은 것이 아닙니다!
LearnCocos2D

7
sudo를 사용하여 rm -rf / var / folders를 실행하지 마십시오. 그렇지 않으면 나 자신으로 수리하게됩니다 :)
Josip B.

68

Command-Option-Shift-K 가해 야합니다. 또는 제품 메뉴로 이동하여 옵션 키를 누릅니다. 이제 "Clean"옵션이 "Clean Build Folder ..."로 변경되어 해당 옵션을 선택하십시오.


아니, 너무 나쁘다. 방금 xib 파일을 변경하고 이름을 변경하고 말한대로 앱을 정리했지만 오류없이 여전히 잘로드됩니다.
Tieme

2
와우, Mac OS X 메뉴에 대한 대체 키 트릭에 대해 전혀 새로운 적이 없습니다! 그것은 실제로 "Alt"ernate의 의미를 정의합니다.
trusktr

19

다음을 수행하는 것 외에도 앱의 스토리 보드 파일이 현지화 된 경우이 문제가 발생할 수 있습니다. 먼저 다음을 각각 수행하십시오.

  • 클린 빌드
  • 시뮬레이터 재설정
  • Xcode 재시작
  • ~ / Library / Developer / Xcode / DerivedDataDerivedData 에서 폴더를 삭제하십시오.
  • 컴퓨터 재시작

마침내 나를 위해 일한 것은 스토리 보드 현지화 파일을 다시 생성하고 영어 현지화 (기본 로캘이 영어이기 때문에 필요하지 않은)를 삭제하는 것이 었습니다. 스토리 보드 문자열을 다시로드하려면 StackOverflow에서이 답변을 참조하십시오 .

스토리 보드의 텍스트가 아닌 부분이 업데이트되었지만 현지화 된 텍스트는 아닌 것으로 나타났습니다. 앱에 현지화가있는 경우 현지화가 .strings파일 인지 확인하여 현지화가 업데이트되었는지 확인하는 것이 좋습니다 .


2
/ var / folders 의 내용 (전체 폴더가 아닌)을 삭제하면 나에게 도움이되었습니다! / var / 폴더를 찾는 경우 ... 찾기의 이동 메뉴에서 폴더로 이동을 선택하고 폴더 위치로 / var /를 입력하십시오.
Patricia

/ var / folders 명령에 +1 ... DerivedData 정리 및 삭제가 부분적으로 작동했지만 그 트릭을 수행했습니다
EeKay

1
1. Clean Build 2. Reset Simulator 3. Xcode를 다시 시작하여 문제가 해결되었습니다.
Alan Dong

경고! 내용을 삭제 /var/folders/하면 심각한 문제가 발생할 수 있으며 복구 콘솔에서 OSx를 완전히 다시 설치해야 할 수도 있습니다!
Magnus W

18

command + option + shift + K 외에도 다른 방법을 찾았습니다. XCode 4.2에는 오른쪽 상단 아이콘에서 열 수있는 관리자가 있습니다. 거기에서 모든 아카이브와 저장된 프로젝트 옵션을 정리할 수 있습니다. 이것은 내 상황에 도움이되었습니다 (mainBundle에서 오래된 제거 된 파일을보고있었습니다).


3
네, 그것은 ~ / Library / Developer / Xcode / DerivedData를 수동으로 청소하는 것보다 쉬운 방법입니다.
Tieme

10

나는 같은 문제가 있다고 생각했기 때문에 머리에서 머리카락을 뽑아 냈습니다. 앱을 만들 때 시뮬레이터에서와 동일한 결과를 내 iPhone에서 얻지 못했습니다.

문제는 어떻게 든 MainStoryboard.storyboard 파일의 현지화 된 버전을 만들었 기 때문입니다. 휴대 전화에서 앱을 실행하면 덴마크어 버전이 표시되고 시뮬레이터는 영어 버전이 표시됩니다.

그래, 난 새 사람이야 :)


2
비슷한 문제가있었습니다. command-option-shift-K를 사용할 수 없었습니다. 제거됨 ... 파생 데이터, 솔루션 없음. 최상위 수준의 XIB를 변경하면 영어 버전 만 변경되며 네덜란드어 버전의 XIB로 테스트했습니다. 한숨.
fishinear

1
또한 언어마다 별도의 텍스트 파일이 생성되는 앱을 현지화 할 수있는 방법이 있습니다. 이러한 경우 .xib를 변경해도 아무런 효과가 없습니다.
dandan78

7

파생 된 모든 데이터와 모듈 캐시를 삭제하려면 이 작은 루비 스크립트/var/folders사용 하십시오 .

derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
FileUtils.rm_rf derivedDataFolder + moduleCache

이것은 단지 fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/오류를 해결했습니다 .


1
"치명적인 오류 : AST 파일이 잘못되었거나 손상되었습니다 : '모듈을로드 할 수 없습니다"및 Xcode에서 제안한 부드러운 솔루션의 실패를 일으키는 명백한 버그가 여전히 Xcode 6.1에서 발생합니다. 그리고 Xcode를 종료하고 ~ / Library / Developer / Xcode / DerivedData를 수동으로 정리하는 솔루션은 여전히 ​​수동으로 작동합니다. 나는 거기의 모든 것을 청소할 필요가 없었습니다. 두 개의 하위 폴더 : ModuleCache와 이름이 문제 프로젝트와 관련된 하위 폴더.
Jerry Krinock '12

5

문서 창을 열 때 Xcode 5.1이 충돌하는 데 문제가있었습니다.

창을 여는 동안 문서 세트도 업데이트했기 때문에 그 원인을 잘 모르겠습니다.

글쎄, Xcode 5에서 모듈 디렉토리는 이제 파생 데이터 폴더에 상주합니다. 분명한 이유로 삭제하지 않았습니다. ~ / Library / Developer / Xcode / DerivedData / ModuleCache의 내용~ / Library / Preferences / com.apple.Xcode.plist 의 내용을 삭제했으며 Xcode를 다시 시작한 후 모든 것이 작동하는 것 같습니다.


1

"데이터 모델"을 사용할 때 인스펙터에는 클래스를 생성하는 옵션이 있습니다. 기존 이름을 가진 클래스가 이미 있었기 때문입니다.

Codegen : 나를 위해 해결했습니다.

여기에 이미지 설명을 입력하십시오


1

Xcode 10.2 및 Mojave를 사용한 "DerivedData"는 다음과 같습니다.

MacHD / 사용자 / [내 사용자] / 라이브러리 / 개발자 / Xcode


0

xib 파일에주의해야합니다. 나는 위의 모든 것을 시도했지만 아무것도 효과가 없었습니다. xib에 정의 된 사용자 정의 UIButton을 사용하고 있었고 프로그래밍 방식으로 변경되지 않는 속성을 할당 한 사실과 관련이 있음을 깨달았습니다. 이미지 나 텍스트를 정의한 경우 제거하십시오. 내가 그렇게했을 때, 나의 프로그래밍 방식의 변화가 적용되기 시작했습니다.


0

여기 내 셸 스크립트 솔루션이 있습니다. 은 Xcode 4, 5 및 6의 파생 데이터를 삭제하고 프로젝트의 캐시 된 자산을 정리하는 입니다.

때로는 Derived Data 디렉토리에서 rm -rf를 호출하면 느린 파일이 남지만 두 파일은 모두 삭제 될 때까지 스크립트가 반복됩니다.


0

나는 거의 모든 노력을하지만, 도움이되지 수, 어떤 날 SIP (시스템 통합 보호)을 비활성화하고 도움 N은 내가 무슨 일을 모르는, 작동 할 때 어딘가에 혼란이 ... 원인이되는 방법을하지만, 시스템 파일 이있을 수 있지만 위험을 이것을 분명히 비활성화하는 것

방법은 여기

1. Mac의 전원을 켜고 [command] + [R] 키를 누른 상태에서 복구 파티션에 액세스하십시오.

복구 파티션의 메뉴 표시 줄에서 유틸리티를 누른 다음 터미널을 선택하십시오.

3. Terminal에 다음 명령을 입력하고 Enter를 눌러 실행하십시오. csrutil disable

4. 명령이 실행되면 터미널을 종료하고 Mac을 재부팅하십시오. OS X에 다시 로그인하면 SIP가 비활성화됩니다.


1
실제로 위험한 소리. SIP는 무엇을합니까?
Tieme

시스템 무결성 보호는 보호 플래그가 지정된 시스템 파일 및 디렉토리를 보호합니다.
기본적으로
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.