Jak mogę usunąć stary model danych w Xcode? Ta opcja jest wyłączona w menu. (Modele, które chcę usunąć, nie zostały udostępnione publicznie - są to tymczasowe modele rozwojowe).
163
Jak mogę usunąć stary model danych w Xcode? Ta opcja jest wyłączona w menu. (Modele, które chcę usunąć, nie zostały udostępnione publicznie - są to tymczasowe modele rozwojowe).
Odpowiedzi:
To hack, ale to zadziałało:
Eliminuje to potrzebę ręcznego modyfikowania dowolnego pliku metadanych projektu.
źródło
Właśnie znalazłem potrzebę, aby to zrobić. Stworzyłem nową wersję modelu, a potem zdałem sobie sprawę, że wcale jej nie potrzebuję. Zaskoczyło mnie, że nie ma sposobu na usunięcie go (który mogłem znaleźć) z Xcode. Mimo to, aby go usunąć, wykonałem następujące czynności:
Najpierw upewniłem się, że to nie jest moja obecna wersja modelu. Następnie poszedłem do Findera i znalazłem mój plik * .xcdatamodeld. Kliknij prawym przyciskiem myszy i Pokaż zawartość pakietu. Tam znajdziesz rzeczywisty plik modelu i możesz go usunąć.
To nadal nie usuwa go z Xcode i będzie wyświetlany na czerwono w plikach i grupach. Aby temu zapobiec, wróć do Findera i pokaż zawartość pakietu w głównym pliku * .xcodeproj (możesz najpierw upewnić się, że masz kopię zapasową tego). Tam otwórz i edytuj plik project.pbxproj, znajdź nazwę wersji swojego modelu, w moim przypadku "interwał 8". U mnie pojawił się w dwóch osobnych wierszach. Usunąłem te linie i teraz jest całkowicie usunięty z Xcode.
źródło
To zadziałało dla mnie w XCode 10.3 bez problemu z kolejnością występującego podczas usuwania całego modelu i dodawania go ponownie:
Usuń wszystkie wiersze zawierające usuniętą nazwę modelu (przykład: „ABC 17.xcdatamodel”). Znajdziesz dwie linie podobne do następujących:
9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * / = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = " ABC 17.xcdatamodel "; sourceTree = ""; };
9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * /,
Zauważ, że jeśli znajdziesz trzecią linię, będzie to coś takiego:
currentVersion = 9D88880323C545B800A789B9 / * ABC 17.xcdatamodel * /;
Oznacza to, że jest to aktualnie wybrany model. Nigdy nie usuwaj tej linii. Po prostu zmień tekst na inną wersję modelu.
Ponownie otwórz XCode.
źródło
Moja odpowiedź wcale nie dotyczy konkretnego problemu, ale jest szybka i działa. Dla tych, którzy używają git. Możesz po prostu odrzucić zmiany niestacjonarne.
Następnie możesz upuścić tę skrytkę za pomocą
git stash drop
komendy, jeśli chcesz.źródło