0

iPhoneアプリケーションでリソースを増やすベストプラクティスは何だろうと思っていました(フォアグラウンドで実行されているか、バックグラウンドでフリーズ/実行されているかに関係なく)私が達成しようとしている偉業は、基本的に15分ごとにいくつかのコインを増やすことです.アプリケーションがフォアグラウンドかバックグラウンドかは問題ではありません。

4

4 に答える 4

4

アプリケーションが実行されているときは、NSTimer. ただし、アプリがバックグラウンドにある場合、タイマーは起動しません。

applicationDidEnterBackgroundAppDelegate のおよびメソッドを使用してapplicationWillEnterForeground、アプリがバックグラウンド状態に入る/終了するタイミングを検出し、現在の時間に基づいてコイン カウントを増やします。

于 2013-04-22T08:35:24.650 に答える
1

これを達成するには、(要件に基づいて) 最初の起動と最後の起動の間の時間差を見つけ、2 つの日付間の時間間隔を見つける時間差に基づいてコインを増やします。

 NSTimeInterval noOfSeconds = [date timeIntervalSinceDate:date2];

// 2 つの日付の違いを見つける

noOfSeconds/900//this will give the number of 15 minutes elapsed
于 2013-04-22T08:34:04.887 に答える
1

何をしようとしているのかにもよりますが、おそらくバックグラウンドでそれを行う必要はありません。ユーザーがコインの量を最後にチェックしたときのタイムスタンプを保存し、次のチェック時に現在のコインを計算します。

于 2013-04-22T08:34:29.523 に答える
1

次のようにできます。

NSTimer *timer;
timer= [NSTimer timerWithTimeInterval:15*60 //seconds
                                    target:self
                                    selector:@selector(yourMethod)
                                    userInfo:nil
                                    repeats:YES];

yourMethodこれは15 分ごとに呼び出され、そこで作業を行うことができます。

上記とは別に、これを参照してください:

iphone - バックグラウンドでのNSTimers

于 2013-04-22T08:34:51.083 に答える