RNCachingURLProtocol の使い方

RNCachingURLProtocol の使い方を調査してみました

なぜ、技術調査したかというと、

オフラインの場合に、iosアプリでキャッシュに

保存したレスポンスデータを使用したかったためです。

同じように悩んでる人は、参考してみてください。


ダウンロードURL(https://github.com/rnapier/RNCachingURLProtocol) から
ソースは、取得できます。

背景
RNCachingURLProtocol は、HTTP プロトコルのためのシンプルなライブラリです。
いつでも URLがダウンロードされた時、リスポンスをディスクへキャッシュされます。
オンラインの場合には、通常な処理を行っています。オフライン場合には、キャッシュされた
バージョンへ制限されます。


CachingURLProtocol の使い方


1.SystemConfiguration.frameworkを導入する。

gitからダウンロードしたプロジェクトから
 NSString+Sha1.h,
 NSString+Sha1.m,
Reachability.h,
Reachability.m,
RNCachingURLProtocol.h,
RNCachingURLProtocol.m を取得し、自分のプロジェクトへ導入する。



2.簡単に動かすためには、(application:didFinishLaunchingWithOptions:)
に以下の文を記述する。

[NSURLProtocol registerClass:[RNCachingURLProtocol class]];

3.完了


 

RNCachingURLProtocolの動作概要

オフライン:
最後のレスポンスのキャッシュを取得する。

オンライン:
最新の情報を取得する。


NSURLProtocol の技術調査

NSURLProtocol は、URLデータを読むこむためのプロトコル仕様を実行するための
基本的な構造を提供するための抽象クラスです。
NSURLProtocolを継承したインスタンスは、一つまたは複数のプロトコルまたはURLスキームに関連された仕様で操作します。
アプリケーションは、 NSURLProtocolのサブクラスを直接初期化する必要はありません。
ダウンロード処理が始まった際に、NSURLRequest のための適切なNSURLProtocolのサブクラス
のインスタンスは、NSURLConnectionによって作成されます。
NSURLProtocolClient プロトコルは、NSURLProtocol サブクラスからURL ローディング システム
へ配達するための実装方法を説明します。
プロトコル仕様リクエストとプロトコル実装のカスタム化をサポートするには、 NSURLRequest
とNSMutableURLRequest上のカテゴリを提供することをお勧めします。
この方法で、NSURLRequestとNSMutableURLRequestの機能を拡張するために必要なプロトコルの実装は、
NSURLProtocol クラスの  propertyForKey:inRequest: と setProperty:forKey:inRequest:.クラス
を使用することによって プロトコル仕様のリクエストデータを制限することと蓄積することができます。
プロトコル実装者が必須な責任は、互いのリクエストを成功ために、NSURLResponseを
作成する。プロトコル実装者は、プロトコル固有情報を提供するための変更可能な NSURLResponse クラスを
カスタムしたものを作成することもできます。


NSURLProtocol のメインメソッド

+ registerClass:
NSURLProtocol サブクラスを登録できます。


管理者オススメのアプリ

簡単に日々のスケジュールを管理できる無料のphoneアプリです。
スケジュール、シフト管理、TODO,お小遣い管理、メモなどいろいろ使用できるアプリ。
メニューの並び替えも自由!


すごい手帳を使ってみる

アクセス数: 無料カウンター




トラックバック(0)

トラックバックURL: http://smartwolf.sakura.ne.jp/Blog/mt-tb.cgi/169

コメントする

ウェブページ

Powered by Movable Type 5.2.7