2017-10-20 61 views
-1

J'essaie de mettre à jour ma plate-forme ios de Cordova Ionic de 3.0.1 à la plus récente version 4.5.2 en utilisant xcode 9. Je supprime la plate-forme ios et la rajoute sous CLI 7.1.0. Ensuite, je restaure tous les paramètres .xcodeproject en copiant l'ancien .xcodeproject dans la nouvelle plate-forme ios et réinitialiser tout le chemin nécessaire dans l'espace de travail. Heureusement, mon projet se construit avec succès et fonctionne bien en mode débogage.Le projet Cordova ne peut pas supprimer le plugin après la mise à jour de mon projet

Cependant quand j'essaye de mettre à jour des plugins démodés dans le nouveau projet, j'ai trouvé que je peux seulement "ajouter" le plugin, que tout va juste bien. Mais quand j'essaye de supprimer n'importe quel plugin (qu'ils aient été ajoutés ou non dans le nouvel espace de travail), la CLI affiche toujours un message de police rouge: Erreur: Impossible de trouver le fichier * -Info.plist ou le fichier config.xml.

Ce message apparaîtra également si j'ai essayé d'exécuter ionic prepare ios. Fait intéressant, si j'utilise le fichier .xcodeproject cordova généré à l'origine, alors tout va bien fonctionner.

Une idée sur les paramètres spécifiques est incorrecte afin que l'interface de ligne de commande puisse uniquement reconnaître le nouveau fichier .xcodeproject mais pas l'ancien fichier .xcodeproject?


Pour répondre "pourquoi ne pas utiliser le nouveau fichier .xcodeproject généré automatiquement". Mon projet est assez vaste et contient 4 cibles différentes et chacune d'elles a des paramètres de projet différents. Premièrement, CLI ne le sait pas et ne générera qu'une seule cible et je devrai la dupliquer trois fois de plus. Deuxièmement, ce sera une telle peine de restaurer chaque paramètre cible un par un. Et troisièmement, le nouveau projet ne contient aucun changement dans le code natif iOS que j'ai créé dans la classe appDelegate. Par conséquent, je veux juste trouver un moyen astucieux pour y arriver.

+0

Je vois une question similaire, mais sans réponses dans les liens suivants: https://stackoverflow.com/questions/44246127/error-could-not-find-info-plist- Fichier-ou-config-xml-fichier et https://stackoverflow.com/questions/37183033/cordova-ios-adding-extension-error-could-not-find-info-plist-file-or-config Espérons que ces gars peut obtenir leur réponse bientôt. – n4feng

Répondre

0

Cordova crée les fichiers automatiquement, je crois que la copie d'un fichier généré à partir d'une ancienne version et le collage d'un nouveau casser votre projet. Que se passe-t-il si vous supprimez la plate-forme, ajoutez à nouveau mais sans réutiliser le .xcodeproject? La chose normale est que vous devez travailler normalement.

Une autre option serait de mise à niveau Cordova ou un déclassement , en utilisant NVM vous pouvez avoir plusieurs versions de NodeJS et Cordova.

+0

Merci pour la réponse. Mais mon devoir est de mettre à jour la plate-forme ios dans une version supérieure Cordova. J'ai déjà essayé vos deux suggestions. 1.Si je supprime et rajoute, j'ai perdu beaucoup de paramètres dans le fichier .xcodeproject afin que mon application ne puisse pas être compilée correctement. 2. On me demande d'utiliser la version la plus récente de Cordova, donc ce n'est pas un choix pour moi. Le projet est assez grand, il a 4 cibles de construction différentes et chacune d'elles a des paramètres de construction et des phases de construction différents. Comme vous pouvez l'imaginer, il serait imprudent de les restaurer main dans la main. – n4feng

0

Vous ne l'avez pas mentionné dans votre question de savoir comment vous retirez la plate-forme ios, essayez de les faire comme suit:

cordova platform remove ios 

cordova platform list ici vous pouvez vérifier que la plate-forme de ios supprimé

cordova platform add ios --save 

Je ne sais pas quelle version vous utilisez mais Cordova 6.5.0 devrait résoudre les problèmes de ios-build. vous pouvez installer en utilisant comme ci-dessous:

sudo npm i -g [email protected] 
+0

Comme je l'ai mentionné dans la question, si je mets le .xcodeproject généré automatiquement par le Cordova dans la racine de la plateforme iOS, alors tout va bien. (Ici, quand je dis «généré automatiquement», je veux dire faire exactement les mêmes choses que vous avez mentionné dans la réponse.) Donc ce n'est pas un problème de construction du tout. Mon problème est, comment modifier le "ancien" fichier xcodeprject afin qu'il puisse s'intégrer dans le nouvel espace de travail. – n4feng

+0

@ n4feng ici il y a 2 questions 1. Pourquoi voulez-vous changer l'ancien xclodeproject parce que sur chaque construction, vous obtiendrez ces fichiers automatiquement.2.Quelles modifications que vous référez? – Webruster

+0

"1. Si je supprime et rajoute, j'ai perdu beaucoup de paramètres dans le fichier .xcodeproject pour que mon application ne puisse pas être compilée correctement" --quote de la commande dans la réponse précédente. 2. Tous les changements qui peuvent laisser le Cordova CLI reconnaître le vieux fichier .xcodeproject sans jeter le message d'erreur – n4feng