Attention! Translated article might be found on my English blog.

2016年7月21日木曜日

WebView内のJavaScriptで実行した通信結果を取得する

JavaScriptでの通信結果を取得するには、WebViewのWebResourceLoadDelegateでwebView:resource:didFinishLoadingFromDataSource:を実装すれば良い。
ただし、WebDataSourceが持つsubresourcesを個々に調べる必要がありそう。(subresourcesはWebResourceの配列)

どこと通信したかはURLプロパティ、通信内容はdataプロパティを見る。
dataはNSDataだが、文字列の場合は-[NSString initWithData:encoding:]でNSStringにできる。

参考: WebResourceLoadDelegate Protocol Reference - Apple Developer