Wiem, jak zmienić nazwę projektu w Xcode 4, ale jak zmienić nazwę folderu źródłowego? Chodzi o to, że zmiana nazwy projektu w Xcode powoduje zmianę nazwy tylko w Xcode (chociaż jest to postęp w porównaniu z poprzednim) - ale dlaczego Xcode nie zmienia nazwy folderu w systemie plików, nie wiem.
119
Odpowiedzi:
Możesz to zrobić z poziomu Xcode bez uciekania się do ręcznej edycji pliku pbxproj w edytorze tekstu!
Oto jak:
Zmień nazwę folderu źródłowego w Finderze. Spowoduje to początkowe zerwanie projektu, ponieważ Xcode nie wykrywa automatycznie, kiedy rzeczywiste foldery, na które wskazują wirtualne (żółte) foldery projektu, ulegają zmianie, więc wszystkie pliki w tym folderze staną się czerwone w Xcode. Nie martw się o to, naprawimy to w kroku 3.
W Xcode kliknij (teraz zepsuty) folder wirtualny na lewym pasku bocznym i zmień jego nazwę, aby pasowała do nazwy w Finderze (możesz nazwać go jak chcesz lub w ogóle nie zmieniać nazwy, ale to byłoby szalone ). To nie naprawi czerwonych plików w folderze, ale to jest w porządku.
Na prawym pasku bocznym w Xcode kliknij ikonę pokazaną na poniższym zrzucie ekranu, aby wyświetlić okno dialogowe pliku. Wybierz folder, którego nazwa została zmieniona. Spowoduje to ponowne skojarzenie folderu wirtualnego z rzeczywistym folderem na dysku i automatycznie naprawi łącza do wszystkich plików w środku.
W ustawieniach kompilacji wyszukaj starą nazwę folderu i ręcznie zmień nazwy wszelkich znalezionych wystąpień. Zwykle będą dwa z nich, oldfolder / prefix.pch i oldfolder / info.plist, ale mogą być inne.
Gotowe!
EDYCJA: ta opcja jest nadal dostępna w Xcode 5, ale jest domyślnie ukryta. Aby go pokazać, kliknij cienki nagłówek „Tożsamość i typ” w inspektorze nad panelem „Ustawienia tekstu”, aby go rozwinąć.
źródło
Robiłem to dziesiątki razy:
.pbxproj
plik w pakiecie projektu (menu kontekstowe „Pokaż zawartość pakietu”) za pomocą dowolnego edytora tekstu.źródło
Zadanie: zmień nazwę „Play” na „Play2” zarówno w Xcode, jak iw Finderze
Zmień to:
Do tego:
KROKI:
// Przed wszystkim wykonaj kopię zapasową projektu w Finderze!
// Wszystkie powyższe kroki są proste i bez efektów ubocznych // // Teraz najtrudniejsza część: zmień nazwę folderu wewnętrznego (środkowa kolumna na obrazku) w Finderze (tego na tym samym poziomie co .xcodeproj)
źródło
Oto jak skutecznie zmienić nazwę projektu w XCode4 (W TYM FOLDER PLIKÓW):
źródło
Po pierwsze - nie zmieniaj nazwy projektu Xcode !!!
Jeśli musisz, to może być pod spodem - nigdy nie udało mi się tego uruchomić, skończyło się na utworzeniu nowego projektu i rozpoczęciu kopiowania wszystkich istniejących plików. Xcode jest taki ach ... Ma wiele nieproduktywnych rzeczy, na przykład spróbuj zmienić nazwę pliku z „Name” na „name”. Cóż, baw się dobrze.
Znalazłem odpowiedź lub jak to obejść: Otwórz plik pbxproj, klikając prawym przyciskiem myszy „Pokaż zawartość pakietu”, a tam edytujesz plik project.pbxproj - musisz zmienić nazwę odniesienia o nazwie path i kilka innych rzeczy - po prostu wyszukaj nazwa folderu została dodana „/”.
To jest to. Mam nadzieję, że to komuś pomoże.
źródło
Oto kolejny problem, o którym powinieneś wiedzieć podczas zastępowania wartości w pliku * .pbxproj. Jeśli nazwa Twojego starego folderu to FooBar, w pliku * .pbxproj pojawi się wpis, który wygląda następująco:
path = FooBar
Załóżmy, że nazwa nowego folderu to Foo Bar. Oznacza to, że wprowadzasz spację. Wtedy ta linia powinna stać się
path = "Foo Bar"
Jeśli wykonasz tylko proste wyszukiwanie i zamianę, wynikiem będzie plik * .pbxproj, którego Xcode nie może przeanalizować. Jeśli nazwa nowego folderu zawiera spację, a stara nazwa nie zawiera spacji, pamiętaj o umieszczeniu podwójnych cudzysłowów.
źródło
Podsumowuję dla siebie, po przeanalizowaniu różnych odpowiedzi powyżej i wypróbowaniu siebie. Załóżmy, że aktualna nazwa projektu to ProjAbc i chcesz zmienić jej nazwę na ProjDef:
Zamknij Xcode tego projektu.
W Finderze zduplikuj folder POWYŻEJ ProjAbc.xcodeproj w celu wykonania kopii zapasowej.
W Finderze możesz dowolnie zmienić nazwę folderu POWYŻEJ ProjAbc.xcodeproj, jeśli uważasz, że jest on potrzebny do nowej nazwy projektu.
W Finderze zmień nazwę folderu plików źródłowych równolegle do ProjAbc.xcodeproj z ProjAbc na ProjDef
Otwórz Xcode dla ProjAbc.xcodeproj (w Project Navigatorze wszystkie pliki w wirtualnym folderze źródłowym ProjAbc będą w kolorze czerwonym).
W Xcode kliknij (teraz uszkodzony) folder wirtualny w Nawigatorze projektu na lewym pasku bocznym i zmień jego nazwę tak, aby odpowiadała nazwie w Finderze - ProjDef. To jeszcze nie naprawi czerwonych plików w folderze, ale to jest w porządku.
W Xcode (nadal wybierając wirtualny folder na lewym pasku bocznym) na prawym pasku bocznym, w Inspektorze plików kliknij ikonę pokazaną na zrzucie ekranu poniżej, aby wyświetlić okno dialogowe pliku. W oknie dialogowym pliku wybierz folder, którego nazwa została zmieniona (ProjDef). Spowoduje to ponowne skojarzenie folderu wirtualnego z rzeczywistym folderem na dysku i automatycznie naprawi łącza do wszystkich plików w środku.
W Xcode, w Project Navigator, kliknij nazwę projektu ProjAbc i zmień jej nazwę na ProjDef.
W Xcode, teraz otwórz "Ustawienia budowania" wewnątrz celu ProjDef (wewnątrz projektu ProjDef w Nawigatorze projektu). Zmień nazwę folderu i nazwę pliku zarówno * -Info.plist, jak i * -Prefix.pch, tak aby zawierały ProjDef zamiast ProjAbc.
W Xcode, w Project Navigator, w folderze źródeł wirtualnych ProjDef, w "Supporting Files", również ponownie zmień nazwy plików * -Info.plist i * -Prefix.pch, aby zawierały ProjDef zamiast ProjAbc
W menu Xcode naciśnij Produkt / Schemat / Zarządzaj schematami ... (lub kliknij „ProjAbc”> Nazwa schematu na pasku schematów w lewym górnym rogu Xcode i naciśnij „Zarządzaj schematami ...”) iw oknie dialogowym zmień nazwę schematu z ProjAbc do ProjDef, a następnie naciśnij przycisk "OK". Jeśli nazwa projektu składa się z jednego słowa, możesz go uruchomić właśnie teraz!
W Xcode edytuj górną linię komentarza w pliku Supporting Files / * - Prefix.pch i zamień ProjAbc na ProjDef (2 razy). Oczywiście poprawienie tego komentarza jest opcjonalne.
Zamknij Xcode.
W Finderze wskaż ProjDef.xcodeproj i otwórz go w edytorze tekstu. (Otwórz go w TextWrangler.app lub kliknij prawym przyciskiem myszy i w wyskakującym menu naciśnij „Pokaż zawartość pakietu”, a następnie edytuj plik project.pbxproj w TextEdit.app)
W Edytorze tekstu wyszukaj „ProjAbc” (całe słowo, wielkość liter), które powinno pojawić się raz (w akapicie: / * Begin PBXNativeTarget sekcja * / in line: productName = ProjAbc;) i zamień je na „ProjDef”. Rzeczywiście, projekt i tak mógłby działać!, Więc ten krok jest opcjonalny.
jeśli nazwa projektu składa się z 2 lub więcej oddzielnych słów, takich jak „ProjDef Geh”, MUSISZ wykonać następujące kroki: Wyszukaj odniesienie do folderu Finder w folderze wirtualnych plików źródłowych -
Zapisz z edytora tekstu i zamknij edytor tekstu.
Otóż to. Jak napisano powyżej, jeśli nazwa projektu składa się z jednego słowa, możesz uruchomić bezpośrednio na końcu kroku 11.
źródło
Powyższe odpowiedzi okazały się bardzo przydatne, zwłaszcza odpowiedź Nicka Lockwooda.
Właśnie zmieniłem nazwy kilku folderów w Xcode 8 i napotkałem jeszcze dwa problemy: A) „brak błędów kopii roboczej” B) awarie danych podstawowych .
Jak rozwiązać te dwa problemy:
A) „ Brak błędów kopii roboczej ”
Poniższa odpowiedź jest bardzo przydatna: Uaktualnienie Swift 3 / Xcode 8 - setki plików DerivedData brakuje w błędach kopii roboczej
Zasadniczo Xcode 8 ma rygorystyczną kontrolę źródła, co może prowadzić do powyższych błędów. Musisz:
Zakładam, że masz już włączoną kontrolę źródła. Jeśli nie, lub jeśli utkniesz, postępując zgodnie z moimi instrukcjami, po prostu postępuj zgodnie z bardziej szczegółowymi instrukcjami w podanym linku.
B) Awarie podstawowych danych
Zmiana nazw folderów czasami psuje dane podstawowe. Istnieje kilka możliwych powodów, dla których tak jest, a poniżej przedstawiam kilka poprawek, które mogę zasugerować:
Nieprawidłowa nazwa modelu AppDelegate . Tak było w mojej sytuacji. Przejdź do AppDelegate i znajdź
let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME")
. Upewnij się, że nazwa jest poprawna.W przyszłości (kilka lat po tym poście, gdy Apple ponownie zmieni dane podstawowe) lub jeśli używasz starszej wersji danych podstawowych, przyjrzyj się uważnie AppDelegate. Prawdopodobnie jest tam coś dziwnego, co miesza z Twoimi podstawowymi danymi.
Nieprawidłowa nazwa modelu w xcdatamodeld . Przejdź do Findera i otwórz plik .xcdatamodeld w edytorze tekstu.
Sprawdź co następuje:
Więcej szczegółów tutaj: Pliki modelu Core Data nie są ładowane przy zmianie nazwy
źródło
Jeśli masz stare odniesienie do projektu źródłowego w swoim projekcie, po opublikowaniu projektu (każda zmiana ma wpływ na oba projekty) tutaj rozwiązanie
==================================================== ======================
źródło