iPhoneにデータを送信するWebサービスを実装しています。私のiPhoneは100秒ごとにWebサービスに新しいデータを要求する必要があります。100 秒ごとに Web サービスを呼び出す最適な方法はどこですか?
この問題について私にアドバイスしてもらえますか?
iPhoneにデータを送信するWebサービスを実装しています。私のiPhoneは100秒ごとにWebサービスに新しいデータを要求する必要があります。100 秒ごとに Web サービスを呼び出す最適な方法はどこですか?
この問題について私にアドバイスしてもらえますか?
「NSTimer」を使用
NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval:100.0 target: self
selector: @selector(callAfterHundredSecond:) userInfo: nil repeats: YES];
100.0 秒ごとに、iOS は以下の関数を呼び出します。
-(void)callAfterHundredSecond:(NSTimer*) t
{
NSLog(@"webServiceCalledAfter100sec");
}
私はちょっと同じシナリオを持っていましたが、私にとってWebサービス呼び出し中のWebサービスの可用性はちょっと重要だったので、私が思いついたのはIOS / Androidのプッシュ通知を使用して5分ごとに通知をプッシュし続けることでした。この方法で私の通話やものは、Web サービスが稼働中であることを知っています。私のユーザーは 3G/WIFI の範囲内にあります。ユーザーの操作なしで双方向の同期のためにこれを行っていたため、ユーザーはほとんどインターネットが利用できない遠隔地にいます。その間、通知を他のものにも使用しているので、ここでも使用できると思いました。それが良いアイデアかどうかはわかりませんが、100 以上のデバイスで実際にうまく機能します。
Web サービスを実行し、フォアグラウンド スレッドで実行する必要がある Timer と共にバックグラウンド スレッドでそのデータを受信できます。次に、フラグまたは必要なものを使用して、これらのメソッド間で同期できます。このようにして、Web サービスは、設定したタイマーに従って応答を送信します。