Chciałbym móc zduplikować cały projekt Xcode, zmienić nazwę projektu i powiązanych plików bez myślenia Xcode i bez konieczności ręcznego ponownego importowania wszystkich plików do projektu.
źródło
Chciałbym móc zduplikować cały projekt Xcode, zmienić nazwę projektu i powiązanych plików bez myślenia Xcode i bez konieczności ręcznego ponownego importowania wszystkich plików do projektu.
Ta odpowiedź jest zwieńczeniem różnych innych postów i samouczków StackOverflow w Internecie umieszczonych w jednym miejscu w celu uzyskania w przyszłości odniesienia i pomocy wszystkim osobom, które mogą mieć ten sam problem. Na końcu przyznawane są inne odpowiedzi.
W Finderze skopiuj folder projektu do żądanej lokalizacji nowego projektu. Na tym etapie nie zmieniaj nazwy nazwy pliku .xcodeproj ani żadnych powiązanych folderów.
W Xcode zmień nazwę projektu. Wybierz projekt z panelu nawigacyjnego (lewy panel). W panelu Narzędzia (prawy panel) zmień nazwę swojego projektu, Zaakceptuj zmiany, które proponuje Xcode.
W Xcode zmień nazwy schematów w „Zarządzaj schematami”, zmień także nazwy wszystkich celów, które możesz mieć.
Jeśli nie używasz domyślnego identyfikatora pakietu, który zawiera bieżący PRODUCT_NAME na końcu (więc zaktualizuje się automatycznie), zmień swój identyfikator pakietu na nowy, którego będziesz używać w swoim zduplikowanym projekcie.
Tak więc po wykonaniu powyższych kroków powinieneś mieć zduplikowany projekt Xcode o zmienionej nazwie, który powinien się pomyślnie kompilować i kompilować, jednak folder kodu źródłowego nadal będzie miał nazwę taką, jak w oryginalnym projekcie. Nie powoduje to żadnych problemów z kompilatorem, ale nie jest to najczystsza struktura plików dla osób poruszających się w SCM itp. Aby zmienić nazwę tego folderu bez zerwania wszystkich linków do plików, wykonaj następujące kroki:
W Finderze zmień nazwę folderu źródłowego. Spowoduje to uszkodzenie twojego projektu, ponieważ Xcode nie wykryje automatycznie zmian. Wszystkie Twoje listy plików xcode stracą swoje linki do rzeczywistych plików, więc wszystkie zmienią kolor na czerwony.
W Xcode kliknij folder wirtualny, którego nazwę zmieniłeś (najprawdopodobniej będzie to na samej górze, tuż pod twoim rzeczywistym .xcodeproject) Zmień nazwę, aby pasowała do nazwy w Finderze, to nic nie naprawi i ściśle nie jest wymagany krok, ale miło jest dopasować nazwy plików.
W Xcode wybierz folder, którego nazwa właśnie zmieniłeś w panelu nawigacji. Następnie w panelu Narzędzia (po prawej stronie) kliknij ikonę, która wygląda jak ciemnoszary folder, tuż pod menu rozwijanym „Lokalizacja”. Stąd przejdź do folderu o zmienionej nazwie w wyszukiwarce i kliknij „Wybierz”. Spowoduje to automatyczne ponowne skojarzenie wszystkich plików i nie powinny już być wyświetlane na czerwono w okienku nawigacji Xcode.
W ustawieniach kompilacji projektu / celów wyszukaj nazwę starego folderu i ręcznie zmień nazwę wszystkich znalezionych wystąpień. Zwykle jest jeden dla prefiksu.pch i jeden dla info.plist, ale może być więcej.
Jeśli korzystasz z bibliotek stron trzecich (Testflight / Hockeyapp / etc), musisz także wyszukać „Library Search Paths” i zmienić tutaj również nazwy wszystkich wystąpień starej nazwy pliku.
Powtórz ten proces dla wszystkich folderów kodu źródłowego testu jednostkowego, które może zawierać Twój projekt, proces jest identyczny.
Powinno to pozwolić na powielenie i zmianę nazwy projektu xcode i wszystkich powiązanych plików bez konieczności ręcznej edycji plików xcode i ryzykować zepsucie.
Ogromne podziękowania należą się Nickowi Lockwoodowi i Paulyowi Glottowi za udzielenie osobnych odpowiedzi na ten problem.
*.xcodeproj/project.pbxproj
pliku było wiele rzeczy , które zawierały oryginalną ścieżkę folderu. W szczególności kompilacja nie udała się, ponieważ wciąż szukała info.plist w oryginalnym folderze.Publikuję to, ponieważ od zawsze miałem problemy ze zmianą nazwy projektu
XCode
.Zmiana nazwy projektu jest dobra i prosta, ale nie zmienia to nazwy folderu źródłowego. Oto krok po kroku to, co zrobiłem, które świetnie działało w Xcode 4 i 5 dzięki poniższym linkom.
Linki REF:
Zmień nazwę projektu.
Zmień nazwę folderu źródłowego i innych plików.
1- Utwórz kopię zapasową projektu.
Jeśli używasz git, zatwierdź wszelkie zmiany, zrób kopię całego folderu projektu i wykonaj kopię zapasową w maszynie czasu przed dokonaniem jakichkolwiek zmian (ten krok nie jest wymagany, ale zdecydowanie zalecam).
2- Otwórz swój projekt.
3- Powoli kliknij dwukrotnie lub naciśnij Enter na nazwie projektu (niebieska górna ikona) i zmień nazwę na dowolną.
4 - Zmień nazwę programu
a) Kliknij menu tuż obok przycisku zatrzymania i wybierz Zarządzaj schematami.
b) Pojedyncze kliknięcie lub naciśnięcie klawisza Enter na starym schemacie nazw i zmiana nazwy na dowolną.
c) Kliknij OK.
5 - Zbuduj i uruchom, aby upewnić się, że działa.
6- Zamknij projekt.
7- Zmień nazwę głównego i źródłowego folderu.
8- Kliknij prawym przyciskiem myszy
.xcodeproj
plik pakietu projektu i wybierz „Pokaż zawartość pakietu” z menu kontekstowego. Otwórz plik .pbxproj w dowolnym edytorze tekstu.9- Wyszukaj i zamień dowolne wystąpienie oryginalnej nazwy folderu na nową nazwę folderu.
10- Zapisz plik.
11 - Otwórz projekt XCode, przetestuj go.
12 - Gotowe.
EDYCJA 10/11/19:
W Xcode jest narzędzie do zmiany nazw projektów. Nie wypróbowałem go wystarczająco, aby skomentować. https://github.com/appculture/xcode-project-renamer
źródło
Od XCode 7 stało się to znacznie łatwiejsze.
Apple udokumentowało proces na swojej stronie: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html
Aktualizacja: link XCode 8: http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f
źródło
Używam tego skryptu po zmianie nazwy mojego projektu iOS. Pomaga zmienić nazwę katalogów i synchronizować nazwy.
UWAGA: musisz ręcznie zmienić nazwę schematu.
źródło
W przykładowym kodzie książki „Instant OpenCV na iOS” znalazłem skrypt bash, który kopiuje projekt z folderu do innego.
Przeprowadzając małe badania, znalazłem post na blogu, który wydaje się być oryginalnym autorem skryptu: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , gdzie możesz pobrać skrypt . Próbowałem uruchomić go z takiego terminala
działa w porządku.
Dodatkowe informacje można znaleźć otwierając plik za pomocą edytora tekstu. Mam nadzieję, że to pomaga
źródło
Używam Xcode 6+ i po prostu:
*.xcodeproj or *.xcworkspace
Tutaj jest zrobione, ale nazwa okna Xcode i
*.xcodeproj or *.xcworkspace
nadal<old-name>
. Następnie robię:pop install
<new name>.xcworkspace
źródło
Jeszcze jedna rzecz do wypróbowania!
Kiedy skopiowałem wszystkie moje pliki, otworzyłem projekt i zmieniłem jego nazwę, wszystko zmieniło się na nazwę mojego nowego projektu, z wyjątkiem celu testowego! Wystąpił błąd linkera, który powiedział, że brakuje mi pliku o nazwie „myOldProjectname.app”. Oto, co to naprawiło:
Kliknij ustawienia projektu i wybierz cel testowy
Kliknij ustawienia kompilacji i wyszukaj „host testowy”
Sprawdź te 2 ścieżki plików. Możliwe, że te 2 ścieżki nadal wskazują na nazwę twojego starego projektu.
Mam nadzieję, że to pomaga!
źródło
Jeśli ktoś ma problemy z awariami scenariuszy po skopiowaniu projektu, przejdź do Main.storyboard w obszarze Identity Inspector.
Następnie sprawdź, czy bieżący moduł jest poprawnym modułem o zmienionej nazwie, a nie starym.
źródło
Używam prostego skryptu BASH do zmiany nazwy.
Stosowanie:
./rename.sh oldName newName
Uwagi:
.git
i.DS_Store
źródło