アプリはサーバーによって生成されたファイル(plist)をダウンロードしています。サーバーがファイルを生成するのに非常に時間がかかるので、進行状況を表示できるようにしたいと思います(おそらく、UIProgressViewを表示しますが、それは重要ではありません)。
ダウンロードしているファイルはリクエストの開始時にまだ作成されていないため、はわかりませんexpectedContentLength
。ただし、[PHP]スクリプト自体から進行状況の更新を提供する手段があります。私はob_flush()
これを行うためにファイルの各行に使用しています。これはブラウザで問題なく機能します。
しかし、アプリからリクエストを送信するとconnection:didReceiveData:
、スクリプトの実行が終了した後にのみ呼び出しが発生するため、あまり役に立ちません。
だから私の質問はこれに要約されます:
私のアプリからそのようなphpスクリプトの進行状況をどのように利用できますか?
サーバーに2つのリクエストを送信してもかまいません。最初のリクエストはファイルを生成し、その間に更新を提供し、もう1つは実際のファイルをダウンロードします。
リクエストが完了するまでNSUrlConnectionデリゲートメソッドは呼び出されないので、これらのメソッドをトリガーするためにスクリプトは何をする必要がありますか?