問題タブ [nsurlcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Loadrequest: 非表示の UIWebView で、または UIWebView を使用せずに webPage をロードしますか?
別の画面に移動する前に、webPage 全体をダウンロードしてキャッシュする必要があります。キャッシングのために、私はサブクラス化し、メソッドNSURLCache
をオーバーライドして応答を保存しました 。webView があり、リクエストをロードすると、問題なく動作し、キャッシュされます。cachedResponseForRequest:request
storeCachedResponse:forRequest:
私の場合、実際に webView に表示される前に、多くの webPages をダウンロードする必要があります。loadRequest:
では、実際にサブビューとしてどこにも追加せずに UIWebViewをシミュレートするにはどうすればよいですか? またはできれば、UIWebViewをまったく使用せずにWebページをロードできる他の方法..??
これが私が発見したものです:
UIwebView が subView として追加されていない場合、 を呼び出す
loadRequest:
と、リクエストが読み込まれません (デリゲート メソッドも呼び出されません..!)NSURLConnection で試してみましたが、
[NSURLConnection sendAsynchronousRequest:urlrequest キュー:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *応答、NSData *データ、NSError *エラー) { }];
また、
しかし、上記のアプローチの問題は、リクエストを 1 つしか送信しないことです。つまり、キャッシュする必要がある webPage 内の画像、css、および js ファイルをリクエストしないということです。
では、 ..??UIWebView
のようにすべてを要求する方法は何ですか?loadRequest
ios - max-age=0 で NSURLCache を自動的に期限切れにする
で使用NSURLCache
していAFNetworking
ます。キャッシュは正常に機能しますが、応答が実際にキャッシュから取得されたかどうかを確認する方法はありません。キャッシュされたバージョンが利用可能かどうかを確認するには、次を使用します
私のファイルのキャッシュされたバージョンを確認します。
私のサーバーは次のヘッダーを送信しています:
これにより、基本的に、キャッシュされた応答がダウンロード直後に古くなることを確認できます。ただし、cachedResponseForRequest:
実際には有効期限が切れていても、以前にキャッシュされたバージョンをディスクにロードします。
NSURLCache
有効期限が切れない、または正しいヘッダーを送信していないなど?- ここで他に何か不足していますか?
編集
私も発信してみました
ヘッダーと応答は、既に期限切れになっていても、キャッシュから返されます。NSURLCache
正しく動作していない気がします...
ios - AFNetworking の UIImageView 用のディスク バッキング イメージ キャッシュ
AFImageCache
カテゴリでデフォルトで使用されてUIImageView+AFNetworking
いるものを、ディスクベースでもう少し正確に管理できるもの ( NSURLCacheなど)に交換しようとしています。残念ながら、UIImageView+AFNetworking
サブクラスではなくカテゴリであるため、af_sharedImageCache をサブクラスまたは別のカテゴリでオーバーライドすることはできませんUIImageView
。
UIImageView+AFNetworking
ほとんどをコピーして自分のサブクラスに貼り付けずに、この機能を実現する他の方法はありますか?
ios - 奇妙な NSURLConnection キャッシュ動作
URLを取得してサーバーからロードする簡単な方法があります。
サーバーは max-age が 1 日の応答を返します。
問題は、これらの 3 行を繰り返し実行すると、そのうちの 2 行がランダムにキャッシュを逃し、応答をリロードすることです。
各リクエストのクエリ文字列にランダムな一意のデータ (&x、&y、&z) を追加すると、問題が修正されます。
また、クエリ文字列の長さを 80 文字に減らすと、問題も修正されます。
どうしたの?これはiOSのバグですか?どうすれば修正できますか?
PS: iOS 5 と 6 の両方で、余分なものがない空のアプリケーションでこれをテストしました。
ios - NSURLCache は起動後も持続しますか?
起動後も持続する iOS アプリケーション用のネットワーク キャッシング ソリューションを探しています。NSURLCache について読み始めましたが、永続性に関する言及はありませんでした。NSURLCache を使用してからアプリを閉じて開くと、これがどのように動作するか知っている人はいますか? それは持続しますか?
ios - NSURLRequest: 常に NSCachedURLResponse を取得します。
私は AfNetworking を使用しています。新しいデータを呼び出しますが、キャッシュされた結果が返され続けます。したがって、データを表示している VC にいる場合は、ルートに戻ってサーバーのデータを変更し、30 秒待ってから VC にプッシュすると、古いデータが表示されます。ブラウザで URL にアクセスすると、正しいデータが表示されます。アプリを再実行すると、データの変更が表示されます。
私のサーバーからの私の応答は、キャッシュ制御ヘッダーを送り返します: Cache-Control:max-age=10, public
私が言えることは、常に NSCachedURLResponse が返され、キャッシュがキャッシュ制御ポリシーをリッスンしていないことです。
AppDelegate で、SharedURLCache を設定しました。
URLRequest の設定方法:
私は NSURLCache に関して他に何もしません。
何か案は?
ブーレンジャー