タグ

NSURLProtocolに関するfaultierのブックマーク (2)

  • iOS Advent Calendar 2011 5日目 / NSURLProtocolの使い方 : As Sloth As Possible

    どうも、「iOS Advent Calendar 2011」5日目担当のfaultierです。つい最近使ったのでNSURLProtocolネタで。 NSURLProtocolって何? Foundationフレームワークで最初から扱えるプロトコルはhttp、https、ftp、fileの4つ。これ以外のプロトコルでの通信をNSURLConnectionやNSURLDownloadなどで扱う場合や、特定のリクエストに限って特別な処理をしたい場合などに、NSURLProtocolを継承して登録することで使えるようになる。ちなみに、他のアプリからopenURLしたときにアプリを起動させるカスタムURLスキームとはまた別なので注意。こちらはアプリ内でURL Loading Systemを使うときにだけ影響するもの。 使い方 最低限必要なのは、+canInitWithRequest:、+canonic

    iOS Advent Calendar 2011 5日目 / NSURLProtocolの使い方 : As Sloth As Possible
  • カスタムリソースにはNSURLProtocolを使えば良いのじゃないか? — sklave

    UIWebView の取り扱いによってはjavascript経由でサンドボックス外のファイルシステムにアクセスできてしまうという話と対処法」 で、UIWebViewにfile://スキームのリソースを表示する場合の脆弱性について触れられていた。 ちょうど自分もこのあたりの仕組みが必要だったのでいろいろ試してみたのだけど、結論から言えば、その場合はNSURLProtocolを使えば良いと思う。 CocoaではUIWebViewやその下のNSURLConnectionがアクセスするリソースはNSURLProtocolで抽象化されているので、 独自のスキームを定義し、それを通してアプリケーション内のリソースを表示するようにする。 以下のようなNSURLProtocolのサブクラスを定義する。: @interface HogeProtocol : NSURLProtocol @end @impl

  • 1