运行NSTimer背景超过10分钟

时间:2014-04-24 11:58:35

标签: ios

我正在处理闹钟应用我需要每隔一分钟在后台重复一次计时器来判断闹钟的开火日期,当闹钟触发时我需要播放音频15分钟

因此,为了在后台运行计时器,我已经编写了波纹管代码,但它不起作用,在我的应用程序终止后,它工作到10分钟后, 请帮助我,我做错了什么以及我应该如何实施。

我的代码是:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    //Making background task Asynchronous
    if([[UIDevice currentDevice]   respondsToSelector:@selector(isMultitaskingSupported)])
    {
        __block UIBackgroundTaskIdentifier  taskId = 0;     taskId =
        [application beginBackgroundTaskWithExpirationHandler:^
         {
             taskId = UIBackgroundTaskInvalid;
         }];

        if(self.callTimer)
        {
               if([self.callTimer isValid])
               [self.callTimer invalidate];
              self.callTimer = nil;
        } 
         self.callTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(recall_timer) userInfo:nil repeats:YES];
         [[NSRunLoop currentRunLoop] addTimer:self.callTimer forMode:NSRunLoopCommonModes];
     }
  }

0 个答案:

没有答案