[xcode] Xcode에서 이전 / 사용하지 않은 데이터 모델 버전을 삭제하는 방법

Xcode에서 이전 데이터 모델을 어떻게 삭제합니까? 메뉴에서 옵션이 비활성화되어 있습니다. (삭제하려는 모델은 공개되지 않았으며 임시 개발 모델입니다.)



답변

그것은 해킹이지만 이것은 나를 위해 일했습니다 :

  1. Xcode에서 모델의 현재 버전을 유지하려는 모델로 설정하십시오.
  2. 프로젝트에서 .xcdatamodeld를 제거하십시오 (오른쪽 클릭-> 삭제-> 참조 만 제거 ).
  3. Finder에서 .xcdatamodeld 패키지의 컨텐츠를 표시하십시오 (오른쪽 클릭-> 패키지 컨텐츠 표시).
  4. 더 이상 원하지 않는 .xcdatamodel 파일을 삭제하십시오.
  5. .xcdatamodeld 파일을 프로젝트에 다시 추가하십시오.

따라서 프로젝트 메타 데이터 파일을 수동으로 수정할 필요가 없습니다.


답변

방금이 작업을 수행해야한다는 것을 알았습니다. 새 모델 버전을 만든 다음에는 필요하지 않다는 것을 깨달았습니다. Xcode에서 그것을 삭제할 수있는 방법이 없다는 사실에 놀랐습니다. 여전히 그것을 제거하려면 다음을 수행하십시오.

먼저 현재 모델 버전이 아닌지 확인했습니다. 그런 다음 Finder로 가서 * .xcdatamodeld 파일을 찾았습니다. 마우스 오른쪽 버튼을 클릭하고 패키지 내용 표시를 클릭하십시오. 거기에 실제 모델 파일이 있으며 삭제할 수 있습니다.

여전히 Xcode에서 제거되지 않으며 파일 및 그룹에서 빨간색으로 표시됩니다. 이 문제가 발생하지 않도록하려면 기본 * .xcodeproj 파일에서 Finder 및 Show Package Contents로 돌아가십시오 (먼저이 백업이 있는지 확인하십시오). 거기에서 project.pbxproj를 열고 편집하여 모델 버전 이름을 찾으십시오 (제 경우에는 “간격 8”). 나를 위해 그것은 두 개의 별도 줄에 나타났습니다. 이 줄을 제거하고 Xcode에서 완전히 제거했습니다.


답변

이것은 전체 모델을 제거하고 다시 추가 할 때 발생하는 순서 문제없이 XCode 10.3에서 나를 위해 일했습니다.

  1. 삭제하려는 모델 이외의 모델 버전을 선택하십시오.
  2. XCode에서 .xcdatamodeld 파일을 마우스 오른쪽 버튼으로 클릭하고 ‘Show in Finder’를 선택하십시오.
  3. XCode를 닫습니다.
  4. 파인더에서 동일한 파일을 마우스 오른쪽 버튼으로 클릭하고 ‘패키지 내용 표시’를 선택하십시오.
  5. 제거하려는 모델의 이름을 기록한 다음 Finder에서 삭제하십시오.
  6. 여전히 Finder에서 프로젝트 파일 (.xcodeproj)로 이동하십시오.
  7. 마우스 오른쪽 버튼을 클릭하고 Atom으로 엽니 다 또는 다른 편집기로 .
  8. ‘프로젝트’창에서 project.pbxproj 파일을 엽니 다.
  9. 제거한 모델 이름이 포함 된 모든 줄을 제거하십시오 (예 : “ABC 17.xcdatamodel”). 다음과 비슷한 두 줄이 있습니다.

    9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * / = {isa = PBXFileReference; lastKnownFileType = 래퍼 .xcdatamodel; 경로 = ” ABC 17.xcdatamodel “; sourceTree = “”; };

    9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * /,

    세 번째 줄을 찾으면 다음과 같습니다.

    currentVersion = 9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * /;

    이는 현재 선택된 모델임을 의미합니다. 이 줄을 삭제하지 마십시오. 텍스트를 다른 모델 버전으로 변경하십시오.

  10. XCode를 다시여십시오.


답변

내 대답은 전혀 문제가 아니지만 빠르고 효과가 있습니다. 자식을 사용하는 사람들을 위해. 스테이지되지 않은 변경 사항은 버릴 수 있습니다.

git stash save --keep-index

그런 다음 git stash drop원하는 경우 명령으로 해당 숨김을 삭제할 수 있습니다 .


답변