0

我想知道在 iPhone 应用程序中增加资源的最佳做法是什么(无论它是在前台运行还是在后台冻结/运行)我想要完成的壮举基本上是每 15 分钟增加一些硬币,不无论应用程序是在前台还是后台。

4

4 回答 4

4

当您的应用程序正在运行时,您可以使用NSTimer. 但是,当您的应用程序在后台时,计时器不会触发。

使用 AppDelegate 的applicationDidEnterBackgroundapplicationWillEnterForeground方法来检测应用程序何时进入/退出后台状态 - 根据当前时间增加您的硬币计数。

于 2013-04-22T08:35:24.650 回答
1

您可以通过查找第一次和最后一次启动之间的时间差(根据您的要求)然后根据时间差增加硬币来查找两个日期之间的时间间隔来完成此操作

 NSTimeInterval noOfSeconds = [date timeIntervalSinceDate:date2];

//查找两个日期之间的差异

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 回答