2012-02-09 64 views
1

我從一個單獨的viewcontroller.it下載data.it需要2分鐘,從異步NSURLConnection大量數據工作正常。但是當我通過退出應用程序進入背景模式並再次打開時,啓動畫面會自動關閉並且應用程序關閉。當下載小數據時,它將在後臺模式下在同一視圖控制器中正常工作。讀取蘋果的有限數字後,使用下面的代碼全長documnet。 但它不起作用?有什麼幫助嗎?在多任務模式下下載大數據?

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 

    UIApplication *app = [UIApplication sharedApplication]; 
    bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ 
     [app endBackgroundTask:bgTask]; 
     bgTask = UIBackgroundTaskInvalid; 
    }]; 

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{}); 

    [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; 

} 

回答

5

喲需要做一些工作(如donloading)在多線程的概念。我認爲This是一個非常好的教程,準確地提到您的問題(解決它太:)我希望它能幫助

編輯:Apple says you can go on downloading in the background.

後臺任務

繼續網絡傳輸是一個明顯的

應用後臺任務。如果用戶啓動大型轉移 然後切換出您的應用程序,則可以啓動後臺任務至 繼續轉移。如果一切順利,轉移將在用戶下一次將應用程序置於前面之前完成 。在您的應用中實施 後臺任務支持時,您沒有必要爲 分別設置「後臺」和「前臺 」情況下的邏輯。

+0

請參閱它不工作的http://stackoverflow.com/questions/4704037/download-data-in-background-with-ios4..why?沒有THread是不可能的? – nameless 2012-02-09 14:29:22

+0

請有人解釋爲什麼減號?這絕對有可能,請查看:https://developer.apple.com/library/ios/#samplecode/SeismicXML/Introduction/Intro.html – 2012-02-09 14:40:35