web-dev-qa-db-fra.com

Cordova iOS plugins non trouvé

Je suis récemment passé de 2.3.0 à Cordova 2.9.0. Après avoir suivi toutes les instructions de mise à niveau, j'ai réussi à lancer l'application dans le simulateur. Cependant, dans Xcode, je vois les erreurs suivantes:

ERROR: Plugin 'Device' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["Device1776032119","Device","getDeviceInfo",[]]
ERROR: Plugin 'NetworkStatus' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["NetworkStatus1776032120","NetworkStatus","getConnectionInfo",[]]
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","deviceready has not fired after 5 seconds."]]
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaConnectionReady"]]
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaInfoReady"]]

Voici mon fichier config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<widget>
    <feature name="Geolocation">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Device">
        <param name="ios-package" value="CDVDevice" />
    </feature>
    <feature name="Accelerometer">
        <param name="ios-package" value="CDVAccelerometer" />
    </feature>
    <feature name="Compass">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Media">
        <param name="ios-package" value="CDVSound" />
    </feature>
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera" />
    </feature>
    <feature name="Contacts">
        <param name="ios-package" value="CDVContacts" />
    </feature>
    <feature name="File">
        <param name="ios-package" value="CDVFile" />
    </feature>
    <feature name="NetworkStatus">
        <param name="ios-package" value="CDVConnection" />
    </feature>
    <feature name="Notification">
        <param name="ios-package" value="CDVNotification" />
    </feature>
    <feature name="FileTransfer">
        <param name="ios-package" value="CDVFileTransfer" />
    </feature>
    <feature name="Capture">
        <param name="ios-package" value="CDVCapture" />
    </feature>
    <feature name="Battery">
        <param name="ios-package" value="CDVBattery" />
    </feature>
    <feature name="SplashScreen">
        <param name="ios-package" value="CDVSplashScreen" />
    </feature>
    <feature name="Echo">
        <param name="ios-package" value="CDVEcho" />
    </feature>
    <feature name="Globalization">
        <param name="ios-package" value="CDVGlobalization" />
    </feature>
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" />
    </feature>
    <feature name="Logger">
        <param name="ios-package" value="CDVLogger" />
    </feature>
    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <plugins>
    </plugins>
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="UIWebViewBounce" value="true" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="EnableLocation" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="ShowSplashScreenSpinner" value="true" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="OpenAllWhitelistURLsInWebView" value="false" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <access Origin="*.googleapis.com"/>
    <access Origin="*.gstatic.com"/>
    <access Origin="*.s3.amazonaws.com"/>
</widget>
17
bjudson

Pour les futurs chercheurs (comme moi!), J'ai eu un problème similaire en essayant d'ajouter le plugin console à mon projet. L’étape qui me manquait après l’installation du plugin était de s’assurer que les fichiers source du plugin (CDVlogger.m) "paramètres de l’appartenance à la cible" incluaient les noms de mes applications.

30
Paul

Question similaire avec réponse qui a fonctionné pour moi:

supprimez ./plugins/ios.json pour vous assurer que les plugins sont reconstruits.

Plugins Phonegap 3.0 IOS non trouvés

26
Ska

J'ai eu le même problème. Je viens de télécharger l'outil de ligne de commande Cordova 3.0 à l'aide du gestionnaire de paquets du noeud. J'ai ensuite utilisé l'outil de Terminal pour créer mon projet, y ajouter des plates-formes et le construire comme ceci.

cordova create myApp com.project.RobertW myApp
cd myApp
cordova platform add ios
cordova platform add Android
cordova build

Après cela, j'ai vu ces mêmes erreurs dans Xcode lorsque j'ai essayé de l'exécuter dans le simulateur. Il semble que, par défaut, PhoneGap n'inclut aucun plugin dans le projet. Par conséquent, même s'il existe dans votre fichier de configuration, il ne sera probablement pas dans le dossier plugins. Vous devez les ajouter manuellement ou via l'outil de ligne de commande. J'ai utilisé l'outil de ligne de commande parce que je pensais que c'était plus facile.

cordova plugin add https://git-wip-us.Apache.org/repos/asf/cordova-plugin-device.git
cordova plugin add https://git-wip-us.Apache.org/repos/asf/cordova-plugin-network-information.git
cordova plugin add https://git-wip-us.Apache.org/repos/asf/cordova-plugin-console.git
cordova build

Après cela, j'ai de nouveau lancé myApp dans le simulateur et tout a bien fonctionné. Il y a quelques bonnes instructions sur l'outil de ligne de commande ici:

http://docs.phonegap.com/fr/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

Je voudrais penser que si PhoneGap 3.0 a besoin de Logger, Device et Network Status, il inclurait automatiquement ces plugins, mais dans mon cas, ce n’était pas le cas. J'espère que cela t'aides.

Édition: Dans le fichier config.xml pour iOS dans Xcode, vous devez également effectuer cette modification pour que le plug-in Logger fonctionne correctement. Ce qui suit est la valeur par défaut. 

<feature name="Console">
    <param name="ios-package" value="CDVLogger" />
</feature>

Changer ci-dessus à cette

<feature name="Logger">
    <param name="ios-package" value="CDVLogger" />
</feature>

Maintenant, toutes les fonctions de votre console devraient fonctionner sans générer d'erreurs.

17
Robert-W

J'avais le même problème avec le plug-in d'informations sur le périphérique utilisant Phonegap 3.0.0. Pour résoudre ce problème, je devais simplement désinstaller et réinstaller le plug-in, puis reconstruire mon projet.

phonegap local plugin remove org.Apache.cordova.device
phonegap local plugin add https://git-wip-us.Apache.org/repos/asf/cordova-plugin-device.git
phonegap local build ios
6
Max

Je suis revenu à utiliser l'ancien format <plugin>. Bien qu’il soit déconseillé, c’est le seul moyen qui fonctionne pour moi. 

<plugins>
    <plugin name="Device" value="CDVDevice" />
    <plugin name="Logger" value="CDVLogger" />
    ...
</plugins>
4
bjudson

Dans mon cas ... la solution a été d'ajouter cette ligne de code pour tous les plugins que j'utilise .. dans mon config.xml

    <feature name="Device">
    <param name="ios-package" value="CDVDevice" />
    <param name="onload" value="true" />
</feature>

<feature name="FCMPlugin">
    <param name="ios-package" value="FCMPlugin" />
    <param name="onload" value="true" />
</feature>

<feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" />
    <param name="onload" value="true" />
</feature>

<feature name="CDVLocation">
    <param name="ios-package" value="CDVLocation" />
    <param name="onload" value="true" />
</feature>

<feature name="cordova.logger">
    <param name="ios-package" value="CDVLogger" />
    <param name="onload" value="true" />
</feature>

<feature name="Logger">
    <param name="ios-package" value="CDVLogger" />
    <param name="onload" value="true" />
</feature>

<feature name="Console">
    <param name="ios-package" value="CDVLogger" />
    <param name="onload" value="true" />
</feature>


<feature name="SQLitePlugin">
    <param name="ios-package" value="SQLitePlugin" />
    <param name="onload" value="true" />
</feature>

  <feature name="Keyboard">
    <param name="ios-package" value="IonicKeyboard" />
    <param name="onload" value="true" />
</feature>
2
xhinoda

Je suis tombé sur ce problème moi-même. La seule solution trouvée consistait à exécuter cordova prepare après l’ajout des plugins via CLI. prepare copie les fichiers nécessaires dans le projet XCode dans le dossier platforms.

Je pense que cela devrait être fait dans le cadre de la commande build ou de la commande plugin add si le projet est présent. Peut-être que c'est un bug, peut-être que c'est délibéré, mais je n'ai pas trouvé beaucoup de documentation à ce sujet. 

Question similaire avec réponses .

2
Mike

m'est arrivé sur phonegap 3.5 avec Xcode 6

pas: 

phonegap plugin remove org.Apache.cordova.camera 
phongap plugin add org.Apache.cordova.camera 
phongap platform remove ios
phongap build ios

Ce n'est probablement pas la meilleure solution, car vous perdez vos paramètres xcode, mais le problème a été résolu.

2
etwina

J'ai aussi eu ce problème. J'ai simplement créé moi-même le répertoire (plateformes/ios/appname/Plugins/org.Apache.cordova.console) et copié les fichiers manquants (CDVLLogger.h et CDVLLogger.m) dans ce répertoire. Ensuite, la compilation a été réalisée avec succès. 

J'utilise cordova version 3.5 

1
Jens

Si vous obtenez cette erreur en utilisant Ionic, essayez alors d’exécuter cordova run ios --device au lieu de ionic run ios --device. Je pense que l'Ionic Cli v2 a tout gâché puisque le projet était un projet Ionic 1. Je n'ai eu aucun problème avant de mettre à jour l'Icon Cli.

0
Jack

J'ai eu le même problème avec le SQLitePlugin. J'ai essayé certaines des solutions proposées dans ce post, mais aucune d'entre elles ne fonctionnait exactement pour moi. Ensuite, j'ai essayé de supprimer le répertoire platform/ios (je développe pour un iPhone), d'ajouter à nouveau la plate-forme ios (ionic add platform ios) et de reconstruire le projet. Tout à coup, tout a fonctionné comme un charme. Je n'ai pas eu à créer un nouveau projet ni à supprimer les plugins.

0
Carlos Ballock