下載從服務器重數據,我們正在建立一個iPhone應用程序,我們有在後臺下載應用內購買的問題,我想知道如果任何人有一個解決方案...使用單獨的線程
我們的應用程序內購買量非常大,爲35-40mb,每次購買包含5個項目,每個7-8mb,因此手機通常會進入待機狀態,或者用戶在下載購買之前切換應用程序,因此必須將應用程序內購買無縫地下載到後臺。
當我們下載購買時,我們必須從服務器下載約35-40mb,同時更新應用程序中的本地sqlite數據庫。我們已經測試了在前臺下載項目和它的工作正常,我們已經做了一些處理以保持下載過程在後臺繼續,並且下載繼續,我們可以看到它在調試器中工作。
但是我們有以下問題......
用戶開始下載 下載頁面上的應用程序顯示應用程序被下載 用戶離開應用程序或手機進入待機 用戶返回到App
此時應用程序啓動屏幕將加載並保持在屏幕上,直至8mb下載中的一個完成,然後完成後切換到應用程序的下載頁面。這對用戶來說真的很混亂,因爲他們認爲應用程序崩潰了。
那麼我們如何管理應用程序內購買,以便當用戶按下載時它開始在後臺下載並且應用程序的行爲正常,而下載正在進行中?因此,用戶離開應用程序,當他們返回時顯示正確的頁面下載進度。用戶在應用程序內導航,它工作正常。
一些觀察...
我必須連續運行NSURLConnection的五倍進行下載,因爲每個應用程序內購買了5個項目。
我注意到的事情是,當第一次下載正在進行中「didEnterBackground」方法沒有得到即使用戶按下主頁按鈕,但第一次下載過程完成之後再「didEnterBackground」方法不會得到所謂的調用。如果用戶將應用程序放入後臺並返回前臺,則應調用「didEnterForeground」,但不是。
我正在下載數據,使用不同的線程,然後「MainThread」,但仍然運行在相同的問題。
任何幫助將不勝感激。
感謝您的建議,但問題是:如果用戶按下home鍵(即強行送在後臺應用程序),然後一些數據丟失肯定會造成 –