UIWebview (Safari) コントロールが埋め込まれた iPhone アプリがあります。特定の Web ページの画像をローカルに保存できるようにしたいと考えています。
UIWebview が画像をダウンロードするパスにプログラムでアクセスできますか? それとも、HTML を解析してから、ネット上で画像リソースを見つけて再度ダウンロードする必要がありますか?
Safariのキャッシュからプリロードされた画像にアクセスできるかどうかはわかりません...
ただし、代わりに JavaScript を少し実行することで、HTML を解析せずに画像の URL を簡単に見つけることができます。
NSString *script = @"var n = document.images.length; var names = [];"
"for (var i = 0; i < n; i++) {"
" names.push(document.images[i].src);"
"} String(names);";
NSString *urls = [webView stringByEvaluatingJavaScriptFromString:script];
// urls contains a comma-separated list of the image URLs.
免責事項:私はこれを試していません。
それらの名前を見つけることができる場合、UIImage は +(UIImage*)imageNamed:(NSString*) に応答します。これは、デバイス全体のキャッシュからイメージを取得する可能性があることを示唆しています。
実験の結果があれば知りたいです。
UIWebview を直接使用して画像を保存することはできないと思います。手動で画像を取得する必要があります...