2011-12-05 11 views
1

目的のiOSでhttpリクエストを使用してリモートデータベースのデータをチェックする正しい方法は何ですか?私は5分ごとに呼ばれるnstimerを考えています。 nstimerはその中にスレッドを持つ関数をトリガーします。これは正しい方法ですか?アプリがバックグラウンドに入ったときにこれはうまくいくのでしょうか?5分ごとにリモートデータベースのデータを確認するiOS

助けてください。

答えて

1

スレッドはバックグラウンドを入力するときに一時停止し、ネットワーク応答で待機していた場合、アプリケーションがフォアグラウンドに戻った後でその応答は失敗します。

また、あなたは(あなたのUIApplicationシングルトンのbeginBackgroundTaskWithExpirationHandler:で)あなたは、バックグラウンドで継続したいタスクを開始しているとき、あなたは(endBackgroundTask:で)そのタスクを終了した時に明示的にiOS版を伝える必要があります。しかし、それは最大で最大10分なので、私はあなたが言うことができないと言います。 NSTimersをバックグラウンドで続行してください。しかし、はい、あなたが記述した方法は、アプリケーションがフォアグラウンドにある場合には問題ありません。

+0

ありがとう、アラン!どうもありがとう!バックグラウンドで行ったり、アプリが終了した場合にプッシュ通知を使用する必要があります。実際には、プッシュ通知は、アプリケーションが閉じられている場合、またはそれがバックグラウンドまたは両方にある場合にのみ動作するかどうかはわかりません。あなたが知っているか教えてください。 – stefanosn

+2

どちらの状況でも動作しますが、動作は異なります。アプリケーションがフォアグラウンドにある場合、プッシュ通知は 'application:didReceiveRemoteNotification:'をトリガーしますが、バックグラウンドではプッシュ通知を選択して、受信したことを知る必要があります。 –

+0

ありがとう、私はあなたの助けに感謝アラン! – stefanosn

関連する問題