2017-08-22 15 views
5

ionic3アプリケーションでうまくいきません。イオントランスファープラグインがプロダクションバージョンで動作しません

私の状況を詳細に説明しましょう: 実際に私のイオン性アプリケーションのオフラインサポートが必要です。私がAPIを呼び出すたびに、データをローカルストレージに格納します。また、apiからローカルディレクトリにイメージをダウンロードします。インターネットがローカルリソースから利用できないときに私はデータとイメージを取得できます。

私は、サーバーからローカルにイメージをダウンロードするには、このプラグインを使用しています: https://ionicframework.com/docs/native/file-transfer/

私は以下のコマンドを実行する場合、それが正常に動作している:

ionic cordova run android 

しかし、私は以下のコマンドを実行したときに、それが動作しません:

ionic cordova run android --prod 

コード:

import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer'; 
import { File } from '@ionic-native/file'; 

constructor(private transfer: FileTransfer, private file: File) { } 

const fileTransfer: FileTransferObject = this.transfer.create(); 

download() { 
    const url = 'http://www.example.com/file.pdf'; 
    fileTransfer.download(url, this.file.dataDirectory + 'file.pdf').then((entry) => { 
    console.log('download complete: ' + entry.toURL()); 
    }, (error) => { 
    // handle error 
    }); 
} 

コンソールからのエラーや問題は発生していません。だから、私は何が欠けているのか分からない。また、適切に構成されたローカルストレージのアクセス許可もあります。権限は問題ではありません。

お返事ありがとうございました。

+0

あなたはそれがどのように動作していないと言いますか? – Sampath

+0

@Sampathそれはエラーを表示していないし、ダウンロードを開始していません。 –

+0

@HiteshUpadhyay申し訳ありませんが、私は解決策を見つけることができませんが、おそらくプロダクションコードの難読化を防ぐためにプロガードのようなものを使用できます。 – Mohsen

答えて

5

最後にこの問題の解決方法を見つけました。

どこかにあなたのコード内
npm i @ionic/[email protected] --save 
npm i [email protected] --save 

そしておそらくあなたはファイル転送するためのプラグインを私の場合は

platform.ready.then()

前に関連する何かを呼び出す:私はいくつかのサービスを注入最初のあなたは、このコマンドを更新する必要がありますで

this.fileTransfer = this.transfer.create();

と私:それはこのような行が含まれますこれに変更しました:

this.platform.ready().then(() => { 
    // Okay, so the platform is ready and our plugins are available. 
    // Here you can do any higher level native things you might need. 
    this.fileTransfer = this.transfer.create(); 
}); 

すべて正常です。

詳細:デバッグモードで

なぜこの作品?

答えは非常に明確です。デバッグモードのデバイス準備完了イベントでは、この後絶対に火災とファイル転送に長時間を要するためです。しかし、プロダクションモードでは、デバイスレディは非常に早く起動し、ファイル転送はこれの前に呼び出されます。これがあなたを助けることを願っています

+0

非常にありがとう、それは私に多くの助け:) –

関連する問題