該應用程序正在下載由服務器生成的文件(plist)。服務器花費大量時間來生成文件,所以我希望能夠顯示進度(可能查看UIProgressView,但這不重要)。幫助獲得NSURLConnection進度
由於我正在下載的文件尚未在請求開始時創建,因此我們不知道expectedContentLength
。但是,我有辦法從[PHP]腳本本身提供進度更新。我爲文件中的每一行使用ob_flush()
來做到這一點,這在瀏覽器中工作得很好。
但是,當我從應用程序發出請求後,腳本執行完畢後,我只接到connection:didReceiveData:
的呼叫,所以沒有多大用處。
所以我的問題歸結爲:
我怎樣才能從我的應用程序進入這樣一個PHP腳本的進展?
我不介意向服務器發送2個請求,第一個生成文件並在此過程中提供更新,然後是另一個下載實際文件。
由於我的NSUrlConnection委託方法都沒有被調用,直到請求完成,我的腳本需要做什麼來觸發這些方法?
ob_flush()適用於我的瀏覽器;我得到增量更新。但是,當從應用程序發出請求時,我將所有內容都放在一個塊中。 – kbanman
WiFi還是3G?我們在這裏談什麼時間尺度?該腳本需要1秒鐘,還是> 10秒? –