it-swarm.com.de

Xcode-Projekt und zugehörige Ordner duplizieren und umbenennen

Ich möchte in der Lage sein, ein gesamtes Xcode-Projekt zu duplizieren, das Projekt und die zugehörigen Dateien umzubenennen, ohne dass Xcode im Kopf bleibt und ohne dass alle Dateien erneut manuell in das Projekt importiert werden müssen.

193
Sammio2

Diese Antwort ist der Höhepunkt verschiedener anderer StackOverflow-Posts und -Tutorials im Internet, die an einem Ort zusammengefasst wurden, damit ich später darauf zurückgreifen kann und allen anderen helfen kann, die möglicherweise mit demselben Problem konfrontiert sind. Alle anderen Antworten werden am Ende gutgeschrieben.

Duplizieren eines Xcode-Projekts

  • Duplizieren Sie im Finder den Projektordner an den gewünschten Speicherort Ihres neuen Projekts. Benennen Sie den Dateinamen .xcodeproj oder zugehörige Ordner zu diesem Zeitpunkt nicht um.

  • Benennen Sie das Projekt in Xcode um. Wählen Sie Ihr Projekt im Navigationsbereich (linker Bereich) aus. Benennen Sie im Bereich Dienstprogramme (rechter Bereich) Ihr Projekt um. Übernehmen Sie die von Xcode vorgeschlagenen Änderungen.

  • Benennen Sie in Xcode die Schemata in "Schemata verwalten" um und benennen Sie auch alle Ziele um, die Sie möglicherweise haben.

  • Wenn Sie nicht die Standard-Bundle-ID verwenden, die am Ende den aktuellen PRODUCT_NAME enthält (wird also automatisch aktualisiert), ändern Sie Ihre Bundle-ID in die neue, die Sie für Ihr dupliziertes Projekt verwenden.

Quellordner umbenennen

Nachdem Sie die obigen Schritte ausgeführt haben, sollten Sie ein dupliziertes und umbenanntes Xcode-Projekt haben, das erfolgreich erstellt und kompiliert werden sollte. Ihr Quellcode-Ordner wird jedoch weiterhin so benannt, wie er im ursprünglichen Projekt war. Dies verursacht keine Compilerprobleme, ist jedoch nicht die übersichtlichste Dateistruktur, in der Benutzer in SCM usw. navigieren können. Gehen Sie folgendermaßen vor, um diesen Ordner umzubenennen, ohne alle Dateilinks zu unterbrechen:

  • Benennen Sie im Finder den Quellordner um. Dadurch wird Ihr Projekt unterbrochen, da Xcode die Änderungen nicht automatisch erkennt. Alle Ihre xcode-Dateilisten verlieren ihre Verknüpfungen mit den tatsächlichen Dateien, daher werden alle rot.

  • Klicken Sie in Xcode auf den virtuellen Ordner, den Sie umbenannt haben. (Dies befindet sich wahrscheinlich ganz oben direkt unter Ihrem eigentlichen .xcode-Projekt.) Benennen Sie diesen um, damit er mit dem Namen im Finder übereinstimmt Erforderlicher Schritt, aber es ist schön, wenn die Dateinamen übereinstimmen.

  • Wählen Sie in Xcode den Ordner, den Sie gerade umbenannt haben, im Navigationsbereich aus. Klicken Sie dann im Bereich "Dienstprogramme" (ganz rechts) auf das Symbol, das wie ein dunkelgrauer Ordner aussieht, direkt unter dem Dropdown-Menü "Speicherort". Navigieren Sie von hier aus zu Ihrem umbenannten Ordner im Finder und klicken Sie auf "Auswählen". Dadurch werden alle Ihre Dateien automatisch neu verknüpft, und sie sollten im Xcode-Navigationsbereich nicht mehr rot angezeigt werden.

Icon to click

  • Suchen Sie in den Build-Einstellungen Ihres Projekts/Ihrer Ziele nach dem alten Ordnernamen und benennen Sie alle gefundenen Vorkommen manuell um. Normalerweise gibt es eine für die Datei prefix.pch und eine für die Datei info.plist, aber es können auch mehrere vorhanden sein.

  • Wenn Sie Bibliotheken von Drittanbietern (Testflight/Hockeyapp/etc) verwenden, müssen Sie auch hier nach "Bibliothekssuchpfaden" suchen und alle Vorkommen des alten Dateinamens umbenennen.

  • Wiederholen Sie diesen Vorgang für alle Unit-Test-Quellcode-Ordner, die Ihr Projekt möglicherweise enthält. Der Vorgang ist identisch.

Auf diese Weise können Sie ein Xcode-Projekt und alle zugehörigen Dateien duplizieren und umbenennen, ohne Xcode-Dateien manuell bearbeiten zu müssen.

Credits

Vielen Dank an Nick Lockwood und Pauly Glott für die getrennten Antworten auf dieses Problem.

364
Sammio2

Ich poste dies, da ich immer Probleme hatte, ein Projekt in XCode umzubenennen.

Das Projekt umzubenennen ist gut und einfach, aber der Quellordner wird dadurch nicht umbenannt. Hier ist eine Schritt-für-Schritt-Anleitung für das, was ich in Xcode 4 und 5 dank der folgenden Links getan habe.

REF-Links:
Projekt umbenennen.
Quellordner und andere Dateien umbenennen.

1- Sichern Sie Ihr Projekt.

Wenn Sie git verwenden, übernehmen Sie alle Änderungen, erstellen Sie eine Kopie des gesamten Projektordners und sichern Sie in time machine, bevor Sie Änderungen vornehmen (dieser Schritt ist nicht erforderlich, wird jedoch dringend empfohlen).

2- Öffnen Sie Ihr Projekt.

3 - Doppelklicken Sie langsam auf den Projektnamen (blaues oberes Symbol) oder drücken Sie die Eingabetaste, und benennen Sie ihn nach Belieben um.

HINWEIS: Nachdem Sie das Projekt umbenannt und die Eingabetaste gedrückt haben, werden alle projektnamenbezogenen Einträge automatisch geändert. Wählen Sie einige davon aus, wenn Sie möchten. Wählen Sie alle aus und klicken Sie auf OK.

4- Benennen Sie das Schema um

a) Klicken Sie auf das Menü direkt neben der Stopp-Schaltfläche und wählen Sie Schemata verwalten.

b) Klicken Sie einmal langsam auf das alte Namensschema, oder drücken Sie die Eingabetaste, und benennen Sie es nach Belieben um.

c) Klicken Sie auf OK

5 - Erstellen und ausführen, um sicherzustellen, dass es funktioniert.

HINWEISE: Zu diesem Zeitpunkt sollten alle wichtigen Projektdateien mit Ausnahme der Kommentare in den Klassen, die beim Erstellen des Projekts erstellt wurden, und des Quellordners umbenannt werden. Als nächstes benennen wir den Ordner im Dateisystem um.

6- Schließen Sie das Projekt.

7- Benennen Sie den Haupt- und den Quellordner um.

8 - Klicken Sie mit der rechten Maustaste auf das Projektpaket .xcodeproj Datei und wählen Sie im Kontextmenü „Show Package Contents“. Öffnen Sie die .pbxproj-Datei mit einem beliebigen Texteditor.

9 - Suchen und ersetzen Sie alle Vorkommen des ursprünglichen Ordnernamens durch den neuen Ordnernamen.

10- Speichern Sie die Datei.

11- Öffnen Sie das XCode-Projekt und testen Sie es.

12- Fertig.

26
fs_tigre

Ab XCode 7 ist dies viel einfacher geworden.

Apple hat den Vorgang auf seiner Website dokumentiert: https://developer.Apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html

Update: XCode 8-Link: http://help.Apple.com/xcode/mac/8.0/#/dev3db3afe4f

5
PBICS

Ich benutze dieses Skript, nachdem ich mein iOS-Projekt umbenannt habe. Es ist hilfreich, den Verzeichnisnamen zu ändern und die Namen zu synchronisieren.

http://github.com/ytbryan/rename

HINWEIS: Sie müssen den Namen des Schemas manuell ändern.

2
ytbryan

Im Beispielcode für das Buch "Instant OpenCV for iOS" habe ich ein Bash-Skript gefunden, das ein Projekt von einem Ordner in einen anderen kopiert.
Ich habe ein bisschen recherchiert und einen Blog-Beitrag von dem gefunden, der der ursprüngliche Autor des Skripts zu sein scheint: http://mohrt.blogspot.it/2009/01/renaming-xcode- project-from-command.html , wo Sie das Skript herunterladen können. Ich habe es ausprobiert und es vom Terminal aus so ausgeführt

    sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>   

funktioniert gut.
Zusätzliche Informationen finden Sie beim Öffnen der Datei mit einem Texteditor. Ich hoffe, das hilft

1

Noch etwas zu versuchen!

Als ich alle meine Dateien kopierte, das Projekt öffnete und umbenannte, änderte sich alles in meinen neuen Projektnamen außer für das Testziel! Ich habe eine Link-Fehlermeldung erhalten, die besagt, dass mir eine Datei mit dem Namen "myOldProjectname.app" fehlt. Folgendes wurde behoben:

  1. Klicken Sie auf Ihre Projekteinstellungen und wählen Sie Ihr Testziel enter image description here

  2. Klicke auf Build Settings und suche nach "test Host" enter image description here

  3. Überprüfen Sie diese beiden Dateipfade. Möglicherweise verweisen diese beiden Pfade immer noch auf Ihren alten Projektnamen. enter image description here

Ich hoffe, das hilft!

0
erparker

Ich benutze einfaches BASH-Skript zum Umbenennen.

Verwendungszweck: ./rename.sh oldName newName

#!/bin/sh

OLDNAME=$1
NEWNAME=$2

export LC_CTYPE=C 
export LANG=C
find . -type f ! -path ".*/.*" -exec sed -i '' -e "s/${OLDNAME}/${NEWNAME}/g" {} +

mv "${OLDNAME}.xcodeproj" "${NEWNAME}.xcodeproj"
mv "${OLDNAME}" "${NEWNAME}"

Anmerkungen:

  1. Dieses Skript ignoriert alle Dateien wie .git und .DS_Store
  2. Funktioniert nicht, wenn alter/neuer Name Leerzeichen enthält
  3. Funktioniert möglicherweise nicht, wenn Sie Schoten verwenden (nicht getestet)
  4. Der Schemaname wird nicht geändert (trotzdem wird das Projekt normal ausgeführt und kompiliert)
0
Anton Malmygin

Wenn andere Benutzer Probleme mit dem Storyboard haben, nachdem sie Ihr Projekt kopiert haben, wechseln Sie zu Main.storyboard unter Identity Inspector.

Überprüfen Sie als Nächstes, ob Ihr aktuelles Modul das richtige und nicht das alte umbenannte Modul ist.

0
Wraithseeker

Ich benutze Xcode 6+ und mache einfach:

  • Kopieren Sie alle Dateien in Projektordnern in neue Ordner (mit neuem Namen).
  • Öffne *.xcodeproj or *.xcworkspace
  • Ändern Sie den Namen des Projekts.
  • Klicken Sie auf Schema und löschen Sie die aktuelle Chema und fügen Sie eine neue hinzu.

Hier ist fertig, aber Name des Fensters Xcode und *.xcodeproj or *.xcworkspace immer noch <old-name>. Dann mach ich:

  • pop install
  • Öffne <new name>.xcworkspace
0
SLyHuy