2017-11-11 19 views
0

ネイティブファイル転送プラグインを使用するアプリケーションを開発しています。しかし、奇妙な問題のために私たちはiOS用のTest Flight/Release Buildを作成することはできません。イオン2:FileTransferプラグインにアクセスしようとしましたがインストールされていません

問題: でも、私たちはfileTransfer.download(..)メソッドを呼び出すボタンをタップすると

ionic cordova run ios -lc 

console.warn: Native: tried accessing the FileTransfer plugin but it's not installed. 

でアプリを実行している間、我々は次のエラーが表示される「ファイル転送」のプラグインのインストールが成功した後に - アプリエラーを投げずに実行を停止します。

私はでログとコードで詳細な記事を作成しました:

https://github.com/ionic-team/ionic-native/issues/2110

すべてのヘルプを??

私の問題は、この変数をFileTransferオブジェクトは platform ready関数の内部ではなく provider内からアクセスすることができたことを

- - これも上ののiOS [Androidのバージョンが正しく動作している

答えて

2

は徹底的にブレーンストーミングした後、私は答えを見つけましたここで

は私がやったことです:

私はprovider内部FileTransferのインスタンス必要があるとして - 私は、変数を作成した - とアップデータの方法を -

private fileTransfer: any; 

public setFileTransferRef(param){ 
    this.fileTransfer = param; 
} 

そして、私はplatform.ready()FileTransferにアクセスできるように - 私はすぐそこにFileTransferObjectをインスタンス化し、次のようにproviderを更新 -

mediaIOSProvは、ダウンロードに責任 プロバイダある
initializeApp() { 
    this.platform.ready().then(() => { 
     console.log('fileTransfer: '); 
     console.log(JSON.stringify(this.fileTransfer)); 
     // 
     let fileTransfer: FileTransferObject = this.fileTransfer.create(); 
     // 
     this.mediaIOSProv.setFileTransferRef(fileTransfer); 
     ..... 
     .... 
  • ジップそのような公式ドキュメントありませんがから

私もindex.htmlbuild/vendor.jscordova.js含めて置かは - (私は、開発者がそうすることが自分の不足しているプラ​​グインの問題を解決することを報告したいくつかの記事に出くわしました)。

<body> 

    <!-- Ionic's root component and where the app will load --> 
    <ion-app></ion-app> 

    <!-- The polyfills js is generated during the build process --> 
    <script src="build/polyfills.js"></script> 

    <!-- The vendor js is generated during the build process 
     It contains all of the dependencies in node_modules --> 
    <script src="build/vendor.js"></script> 

    <!-- cordova.js required for cordova apps --> 
    <script src="cordova.js"></script> 

    <!-- The main bundle js is generated during the build process --> 
    <script src="build/main.js"></script> 

</body> 

アプリが正常にiOSの上で走っているので -

1 - 私は私が推測することはありcordova.js

の 配置を変更するには勇気がなかった。それが最善だろうプラットフォーム内でインスタンス化された各ネイティブプラグインの参照を格納するProviderを作成し、必要に応じて参照を使用します。

2:iOSに関する情報が不足している可能性があります。Ionic-Native Wrapper

ご意見・ご感想をお寄せください。