2012-03-23 17 views
1

特定の時間間隔ごとにWebサーバーからデータを取得する1つのiPhoneアプリケーションを作成したいとします。たとえアプライアンスがバックグラウンドで実行されているとしても。Webサーバからのデータを目的地Cでバックグラウンドで取得する

私はすべてのperticulerの時間間隔の後にデータを取得しようとしています。アプリケーションがバックグラウンドになるとき。 NStimerはイベントを脅かすことはできません。私はWebサービスを呼び出すことはできません。

私はまた、次のコード

NSTimeInterval delay_in_seconds = 3.0; 
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, delay_in_seconds * NSEC_PER_SEC); 
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 

dispatch_after(delay, queue, ^{ 
    // perform your background tasks here. It's a block, so variables available in the calling method can be referenced here. 


    // now dispatch a new block on the main thread, to update our UI 
    dispatch_async(dispatch_get_main_queue(), ^{ 

     [self setBackgoundProcess]; 

    }); 
}); 

を使用してしかし、まだ、私はデータをフェッチすることができませんグランドセントラル派遣(GCD)を使用してWebサービスを呼び出す必要があります。アプリケーションがバックグラウンドになっても機能しません。

事前に感謝

iPhone

にバックグラウンドでWebサービスの呼び出しを行うための任意のホエーがあります。

答えて

0

は、バックグラウンド実行とマルチタスクセクションをこのiOS App Programming Guideを見てください。基本的には、アプリをバックグラウンドで実行する必要があることを指定することができます(iOSがメモリ不足になるまで実行する)か、アプリがバックグラウンドで入力されたときに有限のタスクを実行するように指定することができますあなたのニーズにもっとフィット)