it-swarm.com.de

Umbenennen des xcode 4-Projekts und des aktuellen Ordners

Ich kann das Projekt in Xcode 4 umbenennen, aber wie benennt man den Quellordner um? Die Sache ist, dass das Umbenennen des Projekts in Xcode nur innerhalb von Xcode umbenannt wird (obwohl es ein Fortschritt im Vergleich zum vorherigen ist).

119
Chris G.

Sie können dies von Xcode aus tun, ohne die pbxproj-Datei in einem Texteditor von Hand bearbeiten zu müssen!

Hier ist wie:

  1. Benennen Sie Ihren Quellordner im Finder um. Dadurch wird das Projekt zunächst unterbrochen, da Xcode nicht automatisch erkannt wird, wenn die tatsächlichen Ordner, auf die die virtuellen (gelben) Projektordner zeigen, geändert werden. Daher werden alle Dateien in diesem Ordner in Xcode rot angezeigt. Machen Sie sich keine Sorgen, wir werden es in Schritt 3 beheben.

  2. Klicken Sie in Xcode auf den (jetzt defekten) virtuellen Ordner in der linken Seitenleiste und benennen Sie ihn um, damit er mit dem Namen im Finder übereinstimmt (Sie können ihn eigentlich beliebig nennen oder gar nicht umbenennen, aber das wäre verrückt ). Die roten Dateien im Ordner werden dadurch nicht behoben, aber das ist in Ordnung.

  3. Klicken Sie in der rechten Seitenleiste in Xcode auf das in der Abbildung unten gezeigte Symbol, um einen Dateidialog anzuzeigen. Wählen Sie den Ordner aus, den Sie zuvor umbenannt haben. Dadurch wird der virtuelle Ordner dem realen Ordner auf der Festplatte erneut zugeordnet und die Verknüpfungen zu allen darin enthaltenen Dateien werden automatisch korrigiert.

  4. Suchen Sie in den Build-Einstellungen nach dem alten Ordnernamen und benennen Sie alle gefundenen Vorkommen manuell um. Normalerweise gibt es zwei davon, oldfolder/prefix.pch und oldfolder/info.plist, aber es gibt auch andere.

Alles erledigt!

enter image description here

BEARBEITEN: Diese Option ist immer noch in Xcode 5 vorhanden, wird jedoch standardmäßig hilfreich ausgeblendet. Klicken Sie dazu im Inspektor oberhalb des Bereichs "Texteinstellungen" auf die dünne Kopfzeile "Identität und Typ", um sie zu erweitern.

259
Nick Lockwood

Ich habe es Dutzende Male gemacht:

  • Benennen Sie das Projekt um, indem Sie auf klicken und den Titel in Ihrem Xcode-Projektnavigator bearbeiten.
  • Schließen Sie Xcode. 
  • Benennen Sie den Quellordner um. 
  • Öffnen Sie im Finder die .pbxproj-Datei im Projektpaket (Kontextmenü "Paketinhalt anzeigen") mit einem beliebigen Texteditor. 
  • Suchen und ersetzen Sie jedes Vorkommen des ursprünglichen Ordnernamens durch den neuen Ordnernamen. 
  • Speicher die Datei. 
  • Xcode-Projekt öffnen.
112
djromero

Aufgabe: Umbenennen von "Play" in "Play2" sowohl in Xcode als auch in Finder

Ändere das:

enter image description here

Zu diesem:

enter image description here

SCHRITTE:

// Bitte sichern Sie das Projekt vorher im Finder!

  • Projekt in Xcode Project Navigator umbenennen // Klicken Sie auf den Projektnamen und drücken Sie die Eingabetaste
  • Gruppe in Xcode Project Navigator umbenennen // wirkt sich nicht auf den Ordnernamen im Finder aus
  • Schließen Sie Xcode
  • Benennen Sie den äußeren Ordner (linke Spalte im Bild) im Finder um

// Alle obigen Schritte sind unkompliziert und ohne Nebenwirkungen//// Nun kommt der knifflige Teil: Benennen Sie den inneren Ordner (mittlere Spalte im Bild) im Finder um (den auf derselben Ebene mit. xcodeproj)

  • Benennen Sie den inneren Ordner im Finder um, während Sie Xcode geschlossen halten
  • Klicken Sie mit der rechten Maustaste auf .xcodeproj und wählen Sie "Paketinhalt anzeigen". 
  • Öffnen Sie die .pbxproj-Datei mit Mac TextEdit
  • Suche und ersetze alle "Play" mit "Play2". Um sicherzustellen, dass alles nach rechts verläuft, klicken Sie auf den Pfeil am linken Ende der Suchleiste und ändern Sie das Suchattribut. Ändern Sie "Enthält" in "Vollständiges Wort" und deaktivieren Sie "Fall ignorieren"
  • Speichern Sie die .pbxproj-Datei
  • Xcode-Projekt öffnen und ausführen
12
Philip007

So können Sie ein Projekt effektiv in XCode4 umbenennen (einschließlich des Dateiordners):

  1. Schließen Sie alle geöffneten Projekte vollständig in XCode, um Probleme zu vermeiden
  2. Kopieren Sie das betreffende Projekt in einen neuen Ordner (WICHTIG: BEWAHREN SIE EINES BACKUP IHRES ALTEN PROJEKTS AUF)
  3. Öffnen Sie das Projekt
  4. Benennen Sie das Projekt selbst in XCode4 um (doppelklicken Sie auf den Projektnamen), ändern Sie den Namen und führen Sie die Schritte aus (Ja zu allem)
  5. Zum Produkt gehen, Schemata verwalten und das Schema umbenennen (Doppelklick auf den Schemanamen)
  6. Schließen Sie Ihr Projekt (stellen Sie sicher, dass es vollständig geschlossen ist, andernfalls funktionieren die nächsten Schritte nicht)
  7. Gehen Sie im Finder zum Projektordner und klicken Sie mit der rechten Maustaste auf die .xcodeproj-Datei. Wählen Sie dann die Option "Paketinhalt anzeigen".
  8. Klicken Sie dann mit der rechten Maustaste auf die .pbxproj-Datei und öffnen Sie sie mit TextEdit
  9. Ersetzen Sie alle Vorkommen des Ordnernamens, in dem die Projekte lebten (Der alte Projektname für den neuen Projektnamen)
  10. Speicher die Datei
  11. Öffnen Sie das Projekt erneut und erstellen Sie es!
4
Mav55

Zuerst - benennt kein Xcode-Projekt um !!!

Wenn Sie müssen, könnte das darunter liegen - ich habe es nie zum Laufen gebracht, am Ende ein neues Projekt erstellt und mit dem Kopieren der vorhandenen Dateien begonnen. Xcode ist so ahh .... Es hat so viele nicht produktive Dinge, wie auch versuchen, eine Datei von "Name" in "Name" umzubenennen. Nun, viel Spaß.

Ich habe die Antwort gefunden, oder wie man das umgehen kann: Öffnen Sie die pbxproj-Datei, indem Sie mit der rechten Maustaste auf "Paketinhalt anzeigen" klicken. Dort bearbeiten Sie eine project.pbxproj-Datei. Sie müssen eine Referenz namens path umbenennen. Suchen Sie einfach nach der Ordnername hinzugefügt "/".

Das ist es ... Ich hoffe es hilft jemandem.

2
Chris G.

Hier ist ein weiteres Problem, das Sie beim Ersetzen von Werten in Ihrer * .pbxproj-Datei beachten sollten. Wenn Ihr alter Ordnername FooBar war, haben Sie in Ihrer * .pbxproj-Datei einen Eintrag, der folgendermaßen aussieht:

pfad = FooBar

Angenommen, Ihr neuer Ordnername lautet Foo Bar. Das heißt, Sie führen einen Raum ein. Dann sollte diese Linie werden

path = "Foo Bar"

Wenn Sie einfach suchen und ersetzen, wird das Ergebnis eine * .pbxproj -Datei sein, die Xcode nicht analysieren kann. Wenn Ihr neuer Ordnername ein Leerzeichen enthält und der alte Name kein Leerzeichen hat, müssen Sie unbedingt die Anführungszeichen angeben.

2
Zampano

Ich fasse für mich zusammen, nachdem ich oben verschiedene Antworten geprüft und mich selbst ausprobiert habe. Nehmen wir an, der aktuelle Projektname ist ProjAbc und Sie möchten ihn in ProjDef umbenennen:

  1. Beenden Sie den Xcode dieses Projekts.

  2. Duplizieren Sie im Finder den Ordner ABOVE ProjAbc.xcodeproj für die Sicherung.

  3. Benennen Sie im Finder den Ordner ABOVE ProjAbc.xcodeproj frei um, wenn Sie das Gefühl haben, dass Sie ihn für den neuen Projektnamen benötigen.

  4. Benennen Sie den Quelldateienordner im Finder parallel zu ProjAbc.xcodeproj von ProjAbc zu ProjDef um

  5. Öffnen Sie Xcode für ProjAbc.xcodeproj (in Project Navigator werden alle Dateien im virtuellen Quellordner ProjAbc in Rot angezeigt).

  6. Klicken Sie in Xcode in der linken Seitenleiste auf den (jetzt defekten) virtuellen Ordner im Projektnavigator, und benennen Sie ihn um, um ihn mit dem Namen in Finder - ProjDef abzugleichen. Die roten Dateien im Ordner werden dadurch noch nicht behoben, aber das ist in Ordnung.

  7. Klicken Sie in Xcode (immer noch den virtuellen Ordner in der linken Seitenleiste auswählen) in der rechten Seitenleiste im Datei-Inspektor auf das in der Abbildung unten gezeigte Symbol, um ein Dateidialogfeld aufzurufen. Wählen Sie im Dateidialogfeld den Ordner aus, den Sie zuvor umbenannt haben (ProjDef). Dadurch wird der virtuelle Ordner wieder mit dem realen Ordner auf der Festplatte verknüpft und die Verknüpfungen zu allen Dateien in ..__ werden automatisch korrigiert.Picture shows where to click the Folder icon in File inspector

  8. Klicken Sie in Xcode im Projektnavigator auf den ProjAbc-Projektnamen und benennen Sie ihn in ProjDef um.

    • Sie werden aufgefordert: "Projektinhaltelemente umbenennen?". Klicken Sie auf die Schaltfläche "Umbenennen".
    • Sie werden gefragt: "Möchten Sie, dass Xcode vor dem Projektumbenennen und ähnlichen Vorgängen automatische Snapshots erstellt?". Klicken Sie entweder auf "Deaktivieren" oder "Aktivieren". Es spielt keine Rolle.
  9. Öffnen Sie in Xcode jetzt "Build Settings" im ProjDef-Ziel (im Projekt ProjDef im Project Navigator). Benennen Sie den Ordnernamen und den Dateinamen der Dateien * -Info.plist und * -Prefix.pch so um, dass sie ProjDef anstelle von ProjAbc enthalten.

  10. Umbenennen Sie in Xcode in Project Navigator im ProjDef-Ordner "Virtuelle Quellen" unter "Unterstützende Dateien" auch die Dateien * -Info.plist und * -Prefix.pch erneut, um ProjDef anstelle von ProjAbc zu enthalten

  11. Drücken Sie im Xcode-Menü auf Product/Scheme/Manage Schemes ... (oder klicken Sie auf "ProjAbc"> Schemaname in der Schemaleiste am oberen linken Rand von Xcode und drücken Sie "Manage Schemes ...") und im Dialogfeld umbenennen ProjAbc zu ProjDef und dann "OK" drücken. Wenn der Projektname aus einem einzelnen Wort besteht, können Sie es jetzt ausführen!

  12. Bearbeiten Sie in Xcode die obere Kommentarzeile in der Datei Supporting Files/* - Prefix.pch und ersetzen Sie ProjAbc durch ProjDef (2 Mal). Natürlich ist das Korrigieren dieses Kommentars optional.

  13. Beenden Sie Xcode.

  14. Zeigen Sie im Finder auf ProjDef.xcodeproj und öffnen Sie es im Texteditor. (Öffnen Sie die Datei entweder in TextWrangler.app, oder klicken Sie mit der rechten Maustaste und wählen Sie im Popup-Menü die Option "Paketinhalt anzeigen". Bearbeiten Sie dann die Datei project.pbxproj in TextEdit.app.)

  15. Suchen Sie im Texteditor nach "ProjAbc" (Entire Word, Match Case), das einmal angezeigt werden soll (in Absatz:/* Beginnen Sie mit dem Abschnitt PBXNativeTarget */in Zeile: productName = ProjAbc;) und ersetzen Sie es durch "ProjDef". In der Tat könnte das Projekt trotzdem laufen!, Daher ist dieser Schritt optional. 

  16. wenn der Projektname aus 2 oder mehr separaten Wörtern wie "ProjDef Geh" besteht, MÜSSEN Sie die nächsten Schritte ausführen: Suchen Sie nach dem Verweis auf den Finder-Ordner des virtuellen Quelldateienordners. 

    • Suchen Sie nach der Zeile: path = ProjDef Geh;
    • Es erscheint einmal im Absatz/* ProjDef Geh * /
    • Ersetzen Sie es durch die Zeile: path = "ProjDef Geh";
  17. Speichern Sie im Texteditor und beenden Sie den Texteditor.

  18. Das ist es. Wenn der Projektname aus einem einzelnen Word besteht, können Sie wie oben beschrieben direkt am Ende von Schritt 11 ausgeführt werden.

2
mlev

Wenn Sie in Ihrem Projekt einen alten Verweis auf das Quellprojekt haben, wird das Projekt beim Kopieren des Projekts (jede Änderung wirkt sich auf beide Projekte aus.). Hier die Lösung 

  • Kopieren Sie das Projekt aus dem Quellprojekt 
  • Benennen Sie den Quellordner des Quellprojekts um, der das Referenzproblem unterbricht.
  • In einem öffentlichen Projekt wird alles rot. Wählen Sie Ihren aktuellen Ordner aus. (Screenshot zeigt grüne Antwort des Stackoverflows)

================================================== ========================

0
Ravi H Malviya

Ich fand die obigen Antworten sehr nützlich, besonders die Antwort von Nick Lockwood.

Ich habe gerade ein paar Ordner in Xcode 8 umbenannt und bin auf zwei weitere Probleme gestoßen: A) "Fehlende Arbeitskopierfehler" B) Core Data stürzt ab.

So lösen Sie diese beiden Probleme:

A) "fehlt bei Arbeitskopierfehlern"

Ich fand die Antwort unten sehr nützlich: Swift 3/Xcode 8 Upgrade - Hunderte von DerivedData-Dateien fehlen bei Arbeitskopierfehlern

Grundsätzlich verfügt Xcode 8 über eine strenge Quellcodeverwaltung, die zu den oben genannten Fehlern führen kann. Sie müssen:

  1. Xcode-abgeleitete Daten bereinigen.
  2. Gehen Sie zur Quellcodeverwaltung und klicken Sie auf Status aktualisieren.
  3. Gehen Sie zu Source Control und klicken Sie auf Commit. Wählen Sie beim Festschreiben alle Dateien in der linken Seitenleiste des Festschreibungsmenüs aus (Rechtsklick -> Alle auswählen).
  4. Sie werden wahrscheinlich einen Fehler erhalten.
  5. Schließen Sie das Commit-Menü.
  6. Status aktualisieren.
  7. Schließen Sie Ihr Projekt, indem Sie Xcode beenden.
  8. Öffnen Sie Ihr Projekt erneut, aktualisieren Sie den Status, und legen Sie erneut fest.
  9. Dieses Mal sollte das Commit funktionieren.
  10. Klicken Sie auf Projekt -> Bereinigen.

Ich gehe davon aus, dass Sie Source Control bereits aktiviert haben. Wenn Sie sich nicht an meine Anweisungen halten oder nicht weiterarbeiten, befolgen Sie einfach die detaillierteren Anweisungen im Link.

B) Core Data stürzt ab

Das Umbenennen von Ordnern führt manchmal zu einer Störung der Kerndaten. Es gibt mehrere mögliche Gründe, warum dies so ist. Nachfolgend einige Korrekturen, die ich vorschlagen kann:

  1. Falscher AppDelegate Modellname. Dies war in meiner Situation der Fall. Gehen Sie zu Ihrem AppDelegate und suchen Sie nach let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME"). Stellen Sie sicher, dass der Name korrekt ist.

    In der Zukunft (mehrere Jahre nach diesem Beitrag, wenn Apple Core Data erneut ändert) oder wenn Sie eine ältere Version von Core Data verwenden, schauen Sie sich AppDelegate genau an. Wahrscheinlich gibt es dort etwas Funkelndes, das Ihre Kerndaten durcheinander bringt.

  2. Falscher Modellname in xcdatamodeld. Gehe zum Finder und öffne dein .xcdatamodeld in einem Texteditor.

Überprüfe das Folgende:

<plist version="1.0">
  <dict>
     <key>_XCCurrentVersionName</key>
     <string>YOUR CORE DATA MODEL NAME.xcdatamodel</string>  <-- Make sure this is correct.
  </dict>
</plist>

Weitere Details hier: Core Data-Modelldateien werden beim Umbenennen nicht geladen

  1. Wenn die beiden oben genannten Dinge nicht funktionieren, versuchen Sie, 1) Ihre Entität zu löschen und dann eine andere Entität hinzuzufügen, die identisch ist, oder 2) Ihr xcdatamodeld zu löschen und dann ein anderes identisches Datenmodell hinzuzufügen (und sicherstellen, dass der Name des neuen xcdatamodeld übereinstimmt Was ist in Ihrer AppDelegate und der Rest Ihres Codes). Tun Sie dies niemals mit einer Live-App - oder wenn Sie dies tun, stellen Sie sicher, dass Sie Ihre Kerndaten ordnungsgemäß migrieren.
0
Hadoren