Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS后台模式和NStimer_Ios_Background_Nstimer - Fatal编程技术网

iOS后台模式和NStimer

iOS后台模式和NStimer,ios,background,nstimer,Ios,Background,Nstimer,我正在创建一个应用程序,它可以作为拳击计时器,计算回合数,并在每个回合结束时播放声音。 问题是,当应用程序进入后台模式时,NSTimer会停止。应用程序商店中有一些装箱计时器,因此我相信有一些方法可以实现。您应该在进入后台之前存储当前时间(在您的AppDelegate中): 然后在应用程序激活时执行相同操作: - (void)applicationDidBecomeActive:(UIApplication *)application { self.endTime = [NSDate d

我正在创建一个应用程序,它可以作为拳击计时器,计算回合数,并在每个回合结束时播放声音。
问题是,当应用程序进入后台模式时,NSTimer会停止。应用程序商店中有一些装箱计时器,因此我相信有一些方法可以实现。

您应该在进入后台之前存储当前时间(在您的
AppDelegate
中):

然后在应用程序激活时执行相同操作:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    self.endTime = [NSDate date];
    .
    .
    .
    // Rest of your code
}
然后你可以减去它们,找出应用程序在背景中的数量,然后根据这些数据做你想做的事情


如果您想在应用程序处于后台时执行某些操作,您应该在应用程序的
.plist
文件(或
功能
部分)中启用
后台模式
,该模式通常用于VOIP应用程序或类似的应用程序。

您不明白我的意思。我需要在应用程序挂起时显示通知。我无法使用后台模式-我的应用程序是计时器。
- (void)applicationDidBecomeActive:(UIApplication *)application
{
    self.endTime = [NSDate date];
    .
    .
    .
    // Rest of your code
}