2012-02-09 7 views
1

大量のデータをASynchronous NSURLConnectionから1つの別のviewcontroller.itにダウンロードしていますが、data.itをダウンロードするのに2分かかります。しかし、アプリケーションを終了してバックグラウンドモードにして再び開くと、スプラッシュ画面が表示され、 アプリケーションが強制的に小さなデータをダウンロードすると、同じビューコントローラでバックグラウンドモードで正常に動作します。appleの有限長さの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

マルチスレッドの概念では、(ドローロードのような)いくつかの作業を行う必要があります。 Apple says you can go on downloading in the background.

バックグラウンドタスクネットワーク転送を継続

:私は、私はそれが

EDITを役に立てば幸い:)あまりにもそれを解決します(Thisは非常に良いチュートリアルです。実際の問題に言及していると思います明白である。

バックグラウンドタスクのアプリケーション。ユーザーが大量の転送を開始した場合は、 のアプリケーションから切り替えて、 へのバックグラウンドタスクを開始できます。すべてがうまくいけば転送は 完了してから、次にユーザーがアプリを前面に持ち込むことになります。アプリで バックグラウンドタスクのサポートを実装する場合、 は「バックグラウンド」と「 フォアグラウンド」のケースで別々のロジックを持つ必要はありません。

+0

それが機能していないhttp://stackoverflow.com/questions/4704037/download-data-in-background-with-ios4..whyを参照してください?それはTHreadなしでは不可能ですか? – nameless

+0

マイナスの理由を説明できる人はいますか?絶対に可能ですが、これも見てください:https://developer.apple.com/library/ios/#samplecode/SeismicXML/Introduction/Intro.html –

関連する問題