2016-08-03 20 views
19

新しいionic 2プロジェクト(最新のionic2バージョン)でcordova GooglePlusプラグインを使用しようとしていますが、私はいつもcordovaに関するエラーに遭遇します。 プラグインが正しくインストールされ、プラグインフォルダに表示されます。 loginメソッドが実行しますが、いつも私がionic serveでアプリをテストしたい"cordova_not_available"ionic 2 error cordovaが利用できません

を言ってエラーをスロー

import { GooglePlus } from "ionic-native"; 

、その後

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

:私が試した

一つのアプローチはこれです

私のアンドロイドの携帯電話にそれを展開する前に私のWindowsシステムで最初に。 localhostサーバーでcordovaを使用できるようにするにはどうすればよいですか?検索すると、私はcordova.jsが生成され、常にデバイスの展開パッケージに含まれていることを理解しています。私が試した

別のアプローチは、

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

を使用している。しかし、このアプローチは、Windowsオブジェクト上のプラグインのプロパティについて何も知らないtypescriptですコンパイラを経由しません。

どうすればこの問題を解決できますか?

答えて

5

ionic serveを使用すると、コードバプラグインはすべてデバイスで実行されていないため、無効になります。

むしろこれは、私はまた、第二のアプローチに遭遇してきたが、構文は、その後windows['plugins'].googleplus.login(...)

+0

これはおそらく次のように変更されている可能性があります:ionic cordova run android – Ash

14

このエラーにする必要があり、すべてのコルドバのプラグインが

を機能させる必要があるアンドロイドエミュレータを起動しますionic run android を使用通常は、ブラウザでコードバスのような通常のionic serveを使用してChromeでアプリを実行しているときに発生します。ネイティブコンポーネントが存在しない場合でも、使用しているイオンネイティブプラグインが追加された場合でもエミュレータやデバイスで発生しますそれのイオンプラグインを追加しました。

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

しかし、あなたはまた、コルドバの依存関係を追加する必要があります:

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

あなたが忘れてしまった場合は、あなたがusing native Toast

は、あなたが適切なイオン性の依存関係を追加する必要がある場合、例えば

後でコードバプラグインを追加すると、次のようなエラーが表示されます。

Runtime Error Uncaught(in promise): cordova_not_available 

原因を見つけるのが難しい場合があります。

ionicとcordovaの依存関係を追加したら、それを使用できるはずです。

あなたはそれをインポートを確認してください:あなたはプラグインがために仕事をしたい場合は

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

ランタイムエラーUncaught(約束しています):cordova_not_availableはLinuxでアンドロイドエミュレータを実行中に何度か表示されます。それは一貫していないので、時にはそれが動作する他の人に起こります。 –

+0

このインストールを行っても同じエラーが発生しましたが、プラグインが実行されていることをCLIが確認したことに気がつきました。コードバスプラグインを追加すると、コードバスプラグイン-x-トースト - セーブ – kolexinfos

+0

@kolexinfosが追加されます。 ionic serve or ionic runを使用しているときに-lcオプションを指定しなかった場合、アンドロイドが実行されます。アンドロイド-lcはい、コードブラウザプラグインはブラウザでは使用できません。私がアンドロイドでやっていることは、イオン実行アンドロイドを訴えて、ログ/コンソールを見ることができるようにすることです。logcatログを次のようにしてください:adb logcat | grep -i "console" –

25

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

はその後、ネイティブのアイテムを使用します。コンストラクタで

import { Toast } from 'ionic-native'; 

注入プラットフォームをブラウザにplatform browserを追加して実行してください:

ionic cordova platform add browser 

し、それを実行します。

ionic cordova run browser 

の代わりionic serve

関連する問題