update.オフライン時にもキャッシュからWebViewを表示したかった時の思い出をメモ。参考にさせていただいたこちらの記事のSwift版(やってることほとんど変わらない...)ライブラリ・フレームワークRNCachingURLProtocolhttps://github.com/rnapier/RNCachingURLProtocolNSURLProtocolというネットワークプロトコルをカスタムするライブラリ。このライブラリを使うと,以下のことが可能に。読み込んだページは普通に開く読み込みが完了したらキャッシュする次回読み込み時,キャッシュがあればそれを読み込むSystemConfiguration.frameworkデバイスのネットワーク状況を取得することができるフレームワーク。RNCachingURLProtocolをSwiftで使えるようにするRNCachingURLProtocolはObjective-Cのライブラリなので,Swiftで使えるようにする必要がある。方法は,{プロジェクト名}-Bridging-Header.hを作成し,そこに使うObjective-Cのライブラリのヘッダーファイルをimport。この1行でNSURLProtocolが,今回の目的を満たす処理にカスタムされる。WebViewを普通に表示1~3までの手順で終わりだが,一応WebViewのコードも。UIWebView!はstoryboardに配置したWebViewをcontrol+ドラッグしてコードにドロップしたもの。以上でWebViewをオフラインでも扱うことが可能に!おまけこのライブラリだとhttps通信はキャッシュされないようになっている。そのため,https://www.google.com/とか手頃なURLでテストしてた人は,「オフライン時表示されないじゃん!」ってなるはず。(なりました)https通信をキャッシュしたいなら,RNCachingProtocol.mのinitializeメソッドの@httpと記述されてる部分を@httpsに書き換えればいい。upLoginユーザーは見つかりませんでした。