2016-08-02 14 views
1

私はcordova 4 iosアプリケーションを開発しています。セキュリティスキャンの後、デバイスでCache.dbファイルの作成を避けるために、NSURLキャッシュを無効にすることを推奨しました。cordova iosアプリでNSURLキャッシュを無効にするにはどうすればよいですか?

これを達成する方法はありますか?私はこのプラグインを試しました https://github.com/wongatech/cordova-disable-nsurl-cache しかし、それは動作していません(それはcordova 3.7のために働くと言います)。

このNSURLキャッシュを完全に回避するのは賢明なことですか、ある特定の要求に対してのみ実行する必要がありますか。

ヘルプ誰ですか?

答えて

0

私はコルドバについて何を知っているが、それはボンネットの下にNSURLConnectionまたはNSURLSessionを使用し、ネイティブコードを追加することが可能であると仮定すると、あなたはこのようなNSURLConnectionのキャッシュを無効にすることができ想定していないための:

NSURLCache *URLCache = 
    [[NSURLCache alloc] initWithMemoryCapacity:4194304 // 4 MB 
            diskCapacity:0 
             diskPath:nil]; 
[NSURLCache setSharedURLCache:URLCache]; 

をNSURLSessionを使用する場合は、セッション構成のURLCacheプロパティを、作成したURLキャッシュオブジェクトに変更する必要があります(上記の2行目ではなく)。 NSURLSessionを使用すると、おそらくCordova自体に変更が必要になります。

これは、コルドバでうまくいくかどうかはわかりません。彼らは代わりに独自のネットワークコードを使用するかもしれません。その場合、Cordova特有の方法でキャッシュを無効にする必要があります。

URLキャッシュの問題については、再びNSURLConnectionまたはNSURLSessionを使用していると仮定して、重要なデータをキャッシュするのを避ける最も簡単な方法は、決してキャッシュされないため、機密データを送信するために常にPOST要求を使用することです。

そのため、Cordovaが独自のネットワークコードを使用していても、POST要求のキャッシュ不可能性は、ほとんどすべての標準準拠のWebキャッシュによって実施する必要があります。

+0

@dgatwoodにお返事いただきありがとうございます。私のリクエストはすべてPOSTを使って送信されるので、議論すべきことはそれほどありません。 私が言及したように、そうすることを意図したCordovaプラグインがありますが、プラグインはアプリケーションにネイティブコードを追加する方法です。 – gemega

関連する問題