2016-08-23 1 views
1

J'utilise le Cordova 6.3.1. Si vous tentez de compiler vers iOS à l'aide de l'interface CLI de Cordova, le problème est illustré ci-dessous. $ cordova build ios Cordova ne construit pas - Platform Config.xml incorrect

Error: Pruning at selector "/widget/plugins" from "/Users/path/to/cordova/project/cordova/platforms/ios/Myproj/config.xml" went bad. 

Je reçois aussi la même erreur lors de la mise à jour de la plate-forme:

$ cordova platform update ios 

Updating ios project... 
iOS project updated with [email protected] 
Error: Pruning at selector "/widget/plugins" from "/Users/path/to/cordova/project/cordova/platforms/ios/Myproj/config.xml" went bad. 

1) Que signifie exactement cette erreur de taille signifie?

Je remarque que le config.xml situé dans cordova/platforms/ios/Myproj/ne contient aucune information de ma racine config.xml. Il est tout simplement le fichier par défaut qui commence comme ceci:

<widget xmlns  = "http://www.w3.org/ns/widgets" 
     id  = "io.cordova.helloCordova" 
     version = "2.0.0"> 
    <name>HelloCordova</name> 

    <description> 
     A sample Apache Cordova application that responds to the deviceready event. 
    </description> 

Ma racine config.xml commence comme ceci:

<?xml version='1.0' encoding='utf-8'?> 
<widget id="com.myproj.app" version="1.0.38" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>Myproj</name> 
    <description> 
     Some description. 
    </description> 

Pendant ce temps, l'installation semblait très bien quand je l'ai fait ce qui suit pour ajouter le plateforme:

$ cordova platform add ios 

Adding ios project... 
Creating Cordova project for the iOS platform: 
     Path: ../../../../../desktop/dev/path/to/my/project/cordova/platforms/ios 
     Package: com.myproj.app 
     Name: Myproj 
iOS project created with [email protected] 
Installing "com.mbppower.camerapreview" for ios 
Installing "com.phonegap.plugins.PushPlugin" for ios 
Installing "cordova-plugin-device" for ios 
Installing "cordova-plugin-globalization" for ios 
Installing "com.telerik.plugins.healthkit" for ios 
Installing "com.transistorsoft.cordova.background-geolocation" for ios 
Installing "cordova-plugin-dialogs" for ios 
Installing "cordova-plugin-background-fetch" for ios 
Installing "cordova-plugin-afnetworking" for ios 
Plugin "cordova-plugin-background-fetch" already installed on ios. Making it top-level. 
Installing "cordova-plugin-camera" for ios 
Installing "cordova-plugin-compat" for ios 
Dependent plugin "cordova-plugin-compat" already installed on ios. 
Installing "cordova-plugin-console" for ios 
Plugin "cordova-plugin-device" already installed on ios. Making it top-level. 
Plugin "cordova-plugin-dialogs" already installed on ios. Making it top-level. 
Installing "cordova-plugin-file" for ios 
Dependent plugin "cordova-plugin-compat" already installed on ios. 

The Android Persistent storage location now defaults to "Internal". Please check this plugins README to see if you application needs any changes in its config.xml. 

If this is a new application no changes are required. 

If this is an update to an existing application that did not specify an "AndroidPersistentFileLocation" you may need to add: 

     "<preference name="AndroidPersistentFileLocation" value="Compatibility" />" 

to config.xml in order for the application to find previously stored files. 


Installing "cordova-plugin-file-transfer" for ios 
Dependent plugin "cordova-plugin-file" already installed on ios. 
Installing "cordova-plugin-geolocation" for ios 
Dependent plugin "cordova-plugin-compat" already installed on ios. 
Dependent plugin "cordova-plugin-globalization" already installed on ios. 
Installing "cordova-plugin-http" for ios 
Dependent plugin "cordova-plugin-file" already installed on ios. 
Installing "cordova-plugin-inappbrowser" for ios 
Installing "cordova-plugin-media-capture" for ios 
Dependent plugin "cordova-plugin-file" already installed on ios. 
Dependent plugin "cordova-plugin-compat" already installed on ios. 
Installing "cordova-plugin-pedometer" for ios 
Installing "cordova-plugin-photokandy-video-thumbnail" for ios 
Dependent plugin "cordova-plugin-file" already installed on ios. 
Installing "cordova-plugin-whitelist" for ios 
Installing "phonegap-plugin-barcodescanner" for ios 

2) Comment fonctionne l'installation de la plateforme? Plus précisément, comment dit-il ce qui devrait être dans la plateforme spécifique config.xml?

J'espère que ces questions peuvent être résolues dans le contexte de l'exécution de mon build. Quelques autres informations d'arrière-plan: J'utilise Sencha Touch et construit avec $sencha app build native en utilisant Sencha Cmd qui a initié le dossier original du projet Cordova.

Répondre

0

cordova plugins --list ouvrir x-code trouver ces plugins peut-être la liste des plugins cordova ont des plugins mais le projet ios ne l'est pas.

vous pouvez le supprimer bricolage et installer à nouveau platform > ios > fecth.json or ios.json or package.json espoir utile

désolé, je ne suis pas bon en anglais.

0

Pour moi, la solution de ce poste élaboré: Cordova pruning error for android config xml

Vous devez supprimer tous les plugins et les plates-formes, mise à jour cordova puis ajouter à nouveau tous les plugins et les plates-formes. Pour le nettoyage des plug-ins et ma plate-forme de ios j'ai écrit un script NPM:

{ 
    ... 
    "rm-plugins": "cordova plugins list | awk '{print $1}' | xargs cordova plugins rm", 
    "rm-platforms": "cordova platforms remove ios", 
    "cleanup": "npm run rm-platforms && npm run rm-plugins && npm update cordova" 
    ... 
} 

PS: Je n'ai pas exactement le même message d'erreur que vous aviez:

Error: Pruning at selector "/*/plugins" from "/Users/Thomas/work/repos/nexboard/iOS/nexboard/platforms/ios/neXboard/config.xml" went bad.