0

I want to execute long running task in background in Iphone but code which I using for background task executes only for 3 mins

My code is

- (void)startService{
[self startBackgroundTask];
}

- (void) startBackgroundTask{
 self.backgroundDataSendTimer = [NSTimer scheduledTimerWithTimeInterval:backgroundDataSendfrequency
            target:self
selector:@selector(dobackgroundDataSendInBackground)
                                                                   userInfo:nil
                                                                    repeats:YES];
self.backgroundTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
    dispatch_async(dispatch_get_main_queue(), ^
                  {
       if ( self.backgroundTask != UIBackgroundTaskInvalid)
           {
          [self endBackgroundTask];
            self.backgroundTask = UIBackgroundTaskInvalid;
            }       
  });


}];
- (void) endBackgroundTask{
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];
self.backgroundTask = UIBackgroundTaskInvalid;
[self startBackgroundTask];
}
rmaddy
  • 314,917
  • 42
  • 532
  • 579

0 Answers0