33 votes

erreur ionique 2 cordova non disponible

Je suis en train d'utiliser le cordova GooglePlus plugin dans une nouvelle ionique 2 du projet (dernière ionic2 version) mais j'ai toujours de fonctionner dans des erreurs relatives à cordoue. Le plugin est correctement installé et s'affiche dans le dossier du plugin.

Une approche que j'ai essayé ceci:

import { GooglePlus } from "ionic-native";

et puis

GooglePlus.login().then(...)

La méthode d'ouverture de session s'exécute mais jette toujours un message d'erreur indiquant "cordova_not_available"

Je veux tester l'application avec ionic serve sur mon système windows avant de déployer à mon téléphone android. Comment puis-je faire cordova disponibles dans le serveur localhost? De recherche je comprends que cordova.js est généré et toujours inclus dans le déploiement de package pour le périphérique.

Une autre approche que j'ai essayé est l'aide de

window.plugins.googleplus.login(...)

Mais cette approche ne permet pas de passer par le tapuscrit compilateur qui ne sait rien sur l'un des plugins de propriété sur l'objet windows.

Comment puis-je résoudre ce problème?

66voto

Ajay Gupta Points 1282

Si vous voulez que le plugin fonctionne pour le navigateur, vous devez ajouter platform browser et l'exécuter:

 ionic cordova platform add browser
 

et lancez-le:

 ionic cordova run browser
 

au lieu de ionic serve .

15voto

Marcos Maia Points 1125

Cette erreur se produit généralement lorsque vous exécutez l'application dans google chrome à l'aide de ionic serve ce qui est normal puisque dans le navigateur cordova composants natifs ne sont pas là, mais se produit également sur émulateur et appareils lorsqu'un ioniques natif plugin que vous utilisez a été nod ajouté, même si vous avez ajouté les ionique plugin pour ça.

Par exemple si vous êtes en utilisant natif Toast

ensuite, vous devez ajouter la bonne ionique dépendances:

ionic plugin add cordova-plugin-x-toast --save

mais vous devez également ajouter cordova dépendances:

cordova plugin add cordova-plugin-x-toast --save

Si vous oubliez d'ajouter plus tard le plugin cordova, vous obtiendrez une erreur de ce type:

Runtime Error Uncaught(in promise): cordova_not_available

Ce qui peut être compliqué d'en trouver la cause.

Une fois que vous avez ajouté ionique et cordova dépendances, vous devriez être en mesure de l'utiliser.

Assurez-vous de les importer:

import { Toast } from 'ionic-native';

injecter de la Plate-forme dans le constructeur:

constructor(public navCtrl: NavController, private platform: Platform) {...

ensuite, utilisez le natif de l'article:

this.platform.ready().then(() =>
      Toast.show("Successfull", '5000', 'center')
        .subscribe(
        toast => {
          console.log(toast);
        }
      ));

7voto

DeepFreez Points 86

L'utilisation de ionic serve désactive tous les plugins cordova, car il ne fonctionne pas sur un appareil.

Utilisez plutôt ionic cordova run android Cela lancera un émulateur Android qui devrait permettre à tous les plugins cordova de fonctionner

J'ai également rencontré la deuxième approche, mais la syntaxe doit alors être windows['plugins'].googleplus.login(...)

0voto

Exécutez simplement après avoir connecté un appareil Android

 ionic cordova run android
 

assurez-vous de corriger la clé google map

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X