2017-10-20 5 views
-1

Ich versuche, meine Cordova Ionic Projekt IOS-Plattform von 3.0.1 auf den neuesten 4.5.2 mit Xcode 9 zu aktualisieren. Ich entferne die IOS-Plattform und neu hinzufügen es erneut unter CLI 7.1.0. Dann stelle ich alle .xcodeproject-Einstellungen wieder her, indem ich das alte .xcodeproject in die neue ios-Plattform kopiere und den gesamten im Arbeitsbereich benötigten Pfad zurücksetze. Zum Glück ist mein Projekt erfolgreich aufgebaut und läuft im Debug-Modus einwandfrei.Cordova Projekt kann nicht nach dem Update mein Projekt entfernen

Allerdings, wenn ich versuche, einige veraltete Plugins im neuen Projekt zu aktualisieren, fand ich, dass ich nur Plugin hinzufügen kann, die alles nur gut geht. Aber wenn ich versuche, jedes Plugin zu entfernen (ob sie in den neuen Arbeitsbereich hinzugefügt wurden oder nicht), zeigt die CLI immer eine rote Schrift an: Fehler: Die Datei * -Info.plist oder die Datei config.xml konnte nicht gefunden werden.

Diese Meldung wird auch angezeigt, wenn ich versucht habe, ionic prepare ios command auszuführen. Interessanterweise, wenn ich die ursprünglich generierte .xcodeproject-Datei cordova verwende, dann werden alle Dinge gut funktionieren.

Haben Sie eine Idee, welche Einstellungen falsch sind, damit die CLI nur die neue .xcodeproject-Datei erkennt, nicht aber die alte .xcodeproject-Datei?


Um zu beantworten "warum nicht das neue .xcodeproject automatisch generiert werden soll". Mein Projekt ist ziemlich groß, es enthält 4 verschiedene Ziele und jedes von ihnen hat unterschiedliche Projekteinstellungen. Zuallererst, CLI weiß das nicht und wird nur ein Ziel generieren, und ich muss es noch dreimal wiederholen. Zweitens wird es so schmerzhaft sein, jedes Ziel einzeln wiederherzustellen. Und drittens enthält das neue Projekt keine Änderungen im iOS-Code, den ich gemacht habe, wie in der AppDelegate-Klasse. Deshalb möchte ich nur einen Trick finden, um es durch zu machen.

+0

ich eine ähnliche Frage sehen, aber ohne Antworten in den folgenden Links: https://stackoverflow.com/questions/44246127/error-could-not-find-info-plist- datei-oder-config-xml-datei und https://stackoverflow.com/questions/37183033/cordova-ios-adding-extension-error-could-not-finden-info-plist-file-or-config Hoffentlich diese Jungs kann ihre Antwort bald bekommen. – n4feng

Antwort

0

Cordova erstellt die Dateien automatisch, ich glaube, das Kopieren einer Datei, die aus einer alten Version erstellt wurde, und das Einfügen einer neuen Datei wird Ihr Projekt brechen.

Was passiert, wenn Sie die Plattform entfernen, erneut hinzufügen, ohne das .xcodeproject erneut zu verwenden? Das normale ist, dass du normal arbeiten musst.

wäre eine weitere Option Cordova oder einer Herabstufung, mit NVM Upgrade sein Sie mehrere Versionen von NodeJS und Cordova haben.

+0

Danke für die Antwort. Aber meine Aufgabe ist es, die ios-Plattform in eine höhere cordova-Version zu bringen. Ich habe beide Vorschläge bereits ausprobiert. 1.Wenn ich entferne und neu hinzufüge, habe ich viele Einstellungen in der .xcodeproject-Datei verloren, so dass meine App nicht richtig kompiliert werden kann. 2. Ich werde gebeten, die neueste cordova-Version zu verwenden, damit dies für mich keine Wahl ist. Das Projekt ist ziemlich groß, es hat 4 verschiedene Build-Ziele und jedes von ihnen hat verschiedene Build-Einstellungen und Build-Phasen. Wie Sie sich vorstellen können, ist es unklug, sie von Hand wieder herzustellen. – n4feng

0

Sie nicht in Ihrer Frage erwähnt haben, wie Sie die ios Plattform entfernen, versuchen, sie zu tun wie folgt:

cordova platform remove ios 

cordova platform list hier können Sie, dass ios Plattform

cordova platform add ios --save 

gelöscht überprüfen Ich weiß nicht, welche Version Sie verwenden, aber cordova 6.5.0 sollte die ios-build-Probleme lösen. Sie können mit installieren wie unten:

sudo npm i -g [email protected] 
+0

Wie ich in der Frage erwähnt, wenn ich das .xcodeproject automatisch von der Cordova in der iOS-Plattform Root erstellt, dann alles funktioniert gut. (Hier, wenn ich "automatisch generiert" sage, meine ich genau die gleichen Dinge, die Sie in der Antwort erwähnt haben.) Daher ist es überhaupt kein Build-Problem. Mein Problem ist, wie man die "alte" xcodeproject-Datei so verändert, dass sie in den neuen Arbeitsbereich passt. – n4feng

+0

@ n4feng hier gibt es 2 Fragen 1.Warum willst du das alte xclodeproject ändern, weil auf jedem Build du diese Dateien automatisch bekommst.2. Was ändert sich für dich? – Webruster

+0

"1. Wenn ich entferne und neu hinzufüge, habe ich viele Einstellungen in der .xcodeproject-Datei verloren, so dass meine App nicht richtig kompiliert werden kann" - Zitat von Befehl in der vorherigen Antwort. 2. Alle Änderungen, die das Cordova CLI die alte .xcodeproject-Datei erkennen lassen, ohne die Fehlermeldung – n4feng

Verwandte Themen