Вам необходимо выполнение фоновая задача, как этот
- (void)applicationDidEnterBackground:(UIApplication *)application
{
bgTask = [application beginBackgroundTaskWithName:@"MyTask" expirationHandler:^{
// Clean up any unfinished task business by marking where you
// stopped or ending the task outright.
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
// Start the long-running task and return immediately.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Do the work associated with the task, preferably in chunks.
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
Я думаю, что вы получаете ваши термины неправильно? Завершение означает, что он не работает, поэтому совершенно невозможно сделать что-либо, если приложение не работает. Однако из-за того, что вы говорите: «Я получаю обновление местоположения», возможно, вы на самом деле имеете в виду, когда приложение находится в фоновом режиме? Приложение в фоновом режиме и завершенное приложение - это две совершенно разные вещи. Код в ответе Vanson применим, если приложение находится в фоновом режиме, но, очевидно, оно не применимо, если приложение завершено. – Gruntcakes