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];
}