2011-08-04 4 views
2

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

しかし、UIWebViewの公開APIである でそれを実現することは不可能だと私は彼がそれをどうやって行ったのか疑問に思っています。 これについていくつかのヒントを教えてください。

答えて

0

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

たとえば、進行状況インジケータを使用します。そして、あなたは単にあなたがこれまでにダウンロードされるデータの量と比較

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

:非同期NSURLConnectionを使用することにより、あなたがダウンロードしたいコンテンツの予想サイズの大きさを得ることができます。

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

+0

Webページの読み込み進行状況は、すべてのページリソース読み込み進行状況です。 js css image iframeなどが含まれています.HTMLコードの読み込み進行状況ではありません。 – ShangKai

0

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

+0

ブログへのリンクを教えてください。 – eeerahul

+0

http://www.icab.de/blog/ – myeyesareblind

+0

もご覧になれますhttp://kadao.dir.bg/cocoa.htm、私にとって役に立ちました。 – myeyesareblind