Ich habe eine Weile daran gearbeitet, eine iPhone-App zu erstellen. Heute, als meine Batterie schwach war, arbeitete ich und speicherte ständig meine Quelldateien, dann ging der Strom aus ...
Wenn ich meinen Computer wieder angeschlossen habe und er eine gute Leistung erhält, versuche ich, meine Projektdatei zu öffnen, und es wird eine Fehlermeldung angezeigt:
Projekt kann nicht geöffnet werden
Projekt ... kann nicht geöffnet werden, da die Projektdatei nicht analysiert werden kann.
Gibt es eine Möglichkeit, dass die Leute wissen, dass ich mich davon erholen kann? Ich habe versucht, eine ältere Projektdatei zu verwenden, sie erneut einzufügen und dann zu kompilieren. Es gibt mir einen funky Fehler, der wahrscheinlich daran liegt, dass nicht alle gewünschten Dateien gefunden werden ...
Ich möchte mein Projekt wirklich nicht von Grund auf neu erstellen, wenn dies möglich ist.
BEARBEITEN
Ok, ich habe einen Unterschied zwischen dieser und einer etwas älteren Projektdatei gemacht, die funktioniert hat und festgestellt hat, dass die Datei beschädigt ist. Nach dem Zusammenführen (der guten und neuesten Teile) funktioniert es jetzt.
Tolle Punkte zum SVN. Ich habe eine, aber es gab einige Probleme, XCode damit zu synchronisieren. Ich werde jetzt definitiv mehr Zeit damit verbringen ... ;-)
Mohammeds Antwort war sehr hilfreich (und führte zu meiner Lösung). Das einfache Entfernen des >>>>>>> ======= <<<<<<< reichte jedoch nicht aus, um das Analyseproblem in der project.pbxproj (für mich) zu beheben, wenn Änderungen aus beiden Zweigen beibehalten wurden nach einer Zusammenführung.
Ich hatte einen Zusammenführungskonflikt im Abschnitt PBXGroup (dessen Anfang durch einen Blockkommentar wie diesen angezeigt wird: / * Abschnitt PBXGroup beginnen * /) der Datei project.pbxproj. Das aufgetretene Problem kann jedoch auch an anderen Stellen in der Datei project.pbxproj auftreten.
Im Folgenden finden Sie eine Vereinfachung des Zusammenführungskonflikts, auf den ich gestoßen bin:
Als ich die Markierungen für Zusammenführungskonflikte entfernte, blieb mir Folgendes übrig:
Normalerweise würde das Entfernen der Markierungen für Zusammenführungskonflikte das Analyseproblem in der Datei project.pbxproj beheben und die Integrität des Arbeitsbereichs wiederherstellen. Diesmal nicht.
Folgendes habe ich getan, um das Problem zu lösen:
Ich musste am Ende der ersten PBXGroup tatsächlich 2 Zeilen hinzufügen.
Sie können sehen, dass es kein Analyseproblem gegeben hätte, wenn ich die Änderungen von Head oder dem zusammengeführten Zweig verworfen hätte! In meinem Fall wollte ich jedoch beide Gruppen behalten, die ich aus jedem Zweig hinzugefügt hatte, und das einfache Entfernen der Zusammenführungsmarkierungen reichte nicht aus. Ich musste der Datei project.pbxproj zusätzliche Zeilen hinzufügen, um die korrekte Formatierung beizubehalten.
Wenn Sie also auf Analyseprobleme stoßen, nachdem Sie dachten, Sie hätten alle Zusammenführungskonflikte gelöst, sollten Sie sich die .pbxproj genauer ansehen und sicherstellen, dass keine Formatierungsprobleme vorliegen!
quelle
Ich habe genau den gleichen Fehler erhalten, weil Sie mit Cordova ein Projekt mit Leerzeichen erstellen können und Xcode nicht weiß, wie Sie damit umgehen sollen.
quelle
Ich hatte ein ähnliches Problem.
Im Folgenden finden Sie Schritte, um das Problem zu beheben:
Navigieren Sie zu dem Ordner, in dem sich Ihr Ordner befindet
projectName.xcodeproj
.Klicken Sie mit der rechten Maustaste und wählen Sie '
Show Package Contents
'. Sie können eine Liste der Dateien mit der.pbxproj
Erweiterung anzeigen.Wählen Sie
project.pbxproj
. Klicken Sie mit der rechten Maustaste und öffnen Sie diese Datei mit 'Text Edit
'.Sie werden sehen können
<<<<<< .mine
,============
und>>>>>>>>>> .r123
. Dies sind im Allgemeinen Konflikte, die auftreten, wenn Sie ein Update von SVN übernehmen. Löschen Sie diese und speichern Sie die Datei.Jetzt können Sie das Projekt ohne Fehlermeldung öffnen .
quelle
Die visuelle Analyse der Xcode-Projektdatei hat mir nicht geholfen, Fehler nach dem Zusammenführen zu finden. Nach dem Blick auf Syslog fand eine solche Zeile, als Xcode versuchte, die Datei zu analysieren:
Nach dem Reparieren kann das Projekt ok geöffnet werden.
quelle
Analysieren Sie die Syntax Ihrer Projektdatei. Überprüfen Sie es in Ihrem Projekt im Terminal:
plutil -lint project.pbxproj
Dies zeigt Ihnen die Fehler aus dem Parser.
Mögliches Problem : Einige Projekte legen die Git-Zusammenführungsstrategie
union
für Projektdateien fest. Dies funktioniert meistens, beendet jedoch Ihre Projektdatei stillschweigend, wenn dies fehlschlägt. Diese Strategie ist in der.gitattributes
Datei in Ihrem Repository definiert.quelle
Ich hatte kürzlich das gleiche Problem, als ich versuchte, meinen Zweig mit einem Remote-Zweig zusammenzuführen. Keine der oben genannten Lösungen schien jedoch meinem Problem angemessen zu sein.
Es gab keine Zusammenführungskonflikte zwischen der Datei project.pbxproj in meinem Zweig oder dem Remote-Zweig. Meine Datei projectName.xcodeproj würde sich jedoch aus demselben Grund wie in der gestellten Frage gezeigt nicht öffnen lassen.
Meine Lösung bestand darin, mit einem Texteditor in der Datei project.pbxproj nach Unregelmäßigkeiten in der Dateisyntax zu suchen (z. B. eine zusätzliche geschweifte Klammer). Ich habe diesen Prozess beschleunigt, indem ich mich auf die Zeilen konzentriert habe, die in der alten Datei im Vergleich zur zusammengeführten Datei eingefügt oder gelöscht wurden. Bei näherer Betrachtung stellte ich fest, dass die Ursache meines Problems die Wiederholung der folgenden Zeile war:
in meiner zusammengeführten Datei. Dies führte zu einer nicht geschlossenen geschweiften Klammer und einer daraus resultierenden ungültigen pbxproj-Syntax. Das Löschen der obigen Zeile hat mein Problem behoben.
quelle
Ich bin gerade auf dasselbe Problem gestoßen. Ich habe wie immer generierte Strings von git entfernt, aber Xcode hat sich immer noch geweigert, die .xcodeproj-Datei zu öffnen. Aber alles war korrekt, keine fehlenden Klammern usw. Schließlich habe ich versucht, Xcode zu beenden und das Projekt zu öffnen, als Xcode geschlossen wurde . Dann hat es funktioniert. Ich hoffe das hilft jemandem.
BEARBEITEN:
Zur Lösung von Konflikten in Ihrer .xcodeproj-Datei können Sie dieses praktische Skript verwenden:
Hier ist das Skript:
Projektdatei =
find -d . -name 'project.pbxproj'
Projektverzeichnis =echo *.xcodeproj
projectfile = "$ {projectdir} /project.pbxproj" tempfile = "$ {projectdir} /project.pbxproj.out" savefile = "$ {projectdir} /project.pbxproj.mergesave"cat $ projectfile | grep -v "<<<<<<< HEAD" | grep -v "=======" | grep -v "^ >>>>>>>"> $ tempfile mv $ tempfile $ projectfile
Führen Sie es vom Terminal mit dem Befehl sh aus: sh resolve_conflicts.sh
quelle
resolve_conflicts.sh: line 1: -d: command not found resolve_conflicts.sh: line 3: $tempfile: ambiguous redirect
Setzen Sie die Datei project.pbxproj zurück
svn revert --filename--
quelle
Zu befolgende Schritte: - 1. Navigieren Sie in den Ordner, in dem sich Ihr projectName.xcodeproj befindet. 2. Klicken Sie mit der rechten Maustaste und wählen Sie "Paketinhalt anzeigen". Sie können eine Liste der Dateien mit der Erweiterung .pbxproj anzeigen. 3.Wählen Sie project.pbxproj. Klicken Sie mit der rechten Maustaste und öffnen Sie diese Datei mit 'Textbearbeitung'. 4.Sie können <<<<<<, ============ und >>>>>>>>>> sehen. Dies sind im Allgemeinen Konflikte, die auftreten, wenn Sie ein Update von Sourcetree / SVN / GITLAB übernehmen. Löschen Sie diese und speichern Sie die Datei. 5. Jetzt können Sie das Projekt ohne Fehlermeldung öffnen.
quelle
Es hört sich so an, als müssten Sie ein neues Projekt in Xcode erstellen, in das alte Verzeichnis wechseln und alle Ihre Quelldateien, Schreibfedern und Ressourcen in die Seitenleiste der Xcode-Dateien im neuen Projekt ziehen. Es sollte nicht länger als ein paar Minuten dauern, es sei denn, Sie haben wirklich viel mit benutzerdefinierten Build-Einstellungen oder Zielen gearbeitet. Entweder das, oder kehren Sie zum letzten Einchecken in Ihrer Quellcodeverwaltung zurück und fügen Sie manuell alle Codedateien hinzu, die sich bis dahin geändert haben.
quelle
Und sobald Sie die Dinge wieder zum Laufen bringen, sollten Sie versuchen, etwas wie Subversion oder Quecksilber für die Sicherungs- und Revisionskontrolle zu verwenden. Denken Sie daran, dass die Elektronen nicht immer dorthin gehen, wo sie sollen, früh und oft sichern!
quelle
Ändern Sie den Namen Ihres aktuellen Projektordners und das Checkout-Modul im selben Projekt. Fügen Sie dann die aktuellen Dateiänderungen hinzu.
quelle
Überprüfen Sie einfach die Datei project.pbproject und führen Sie einen Unterschied zu einer funktionierenden Version der Projektdatei durch.
Dies ist häufig der Fall, wenn Konflikte mit einem Versionskontrollsystem wie dem hier angegebenen auftreten: Die Benutzerdatei kann im MAC iphone SDK nicht in Subversion analysiert werden
quelle
Versuchen Sie, HEAD und _HEAD zwischen den Zeilen zu finden, und löschen Sie diese Wörter in project.pbxproj. Sichern Sie diese Datei, bevor Sie dies tun.
quelle
Gehe zu PhoneGapTest >> Plattform Lösche dann den Ordner ios danach gehe zum Terminal und tippe: sudo phonegap build ios danach kannst du das Projekt ausführen
quelle
Durch Zurücksetzen können Sie den gezogenen Code rückgängig machen.
Wenn Sie diese Pull-Anforderung rückgängig machen möchten, setzen Sie diesen Befehl einfach in den Projektpfad
->
git merge --abort
quelle
Falls Sie nicht in Text === oder <<< oder >>>> gefunden haben, wie es für mich war, war das Problem wirklich einfach und hat Spaß gemacht ... Ich ändere den Namen der App in Xcode, aber nicht in UnityProjectSettings vor dem Erstellen - das war das Problem ...
quelle
subversion beschädigt meine Projektdatei nach einem SVN fast wöchentlich. Ich versuche herauszufinden, warum dies gerade geschieht, und bin auf dieses Problem gestoßen.
quelle
Dies liegt daran, dass Projektnamen keine Leerzeichen dazwischen haben sollen
quelle