2

Webページの読み込みの進行状況を表示できるUIWebViewで、Safariのようなブラウザを作りたいです。そして、これができるアプリ「Downloads Lite - Downloader & Download Manager」がアプリストア (http://itunes.apple.com/app/id349275540?&mt=8) で販売されているのを見ました。また、リクエストのユーザー エージェントをカスタマイズしたり、レスポンス ヘッダーの「コンテンツ タイプ」を取得して、ダウンロードする必要があるかどうかを判断したりすることもできます。

しかし、UIWebView のパブリック API では実現できないようで、どうやって実現したのか気になります。これについてのヒントを教えてください。

4

2 に答える 2

0

このアプリ/ブログをご覧ください。icab.de一般的なアプローチは、NSProtocolのサブクラスを作成し、すべてのhttp / httpsリクエストをキャッチすることです。これにより、必要なものがすべて提供されます。

于 2011-11-17T11:03:11.757 に答える
0

このようなことを行うためにプライベート API は必要ありません。

たとえば、進行状況インジケーターを使用します。非同期 NSURLConnection を使用すると、ダウンロードするコンテンツの予想サイズを取得できます。

-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response
{
    [response expectedContentLength];
}

次に、これまでにダウンロードしたデータの量と比較するだけです。

ユーザー エージェントのカスタマイズは、CFNetwork フレームワークで実行できます。

于 2011-08-04T08:15:16.170 に答える