Я пытаюсь реализовать обновления местоположения в фоновом режиме на основе таймера. Я знаю все о различных методах обновления местоположения в iOS и пробовал их, но они не соответствуют потребностям. Мне нужно часто проверять места, даже когда они не активны. Я пытался использовать таймеры, но они не работают в фоновом режиме. Это заставило меня найти этот вопрос Как мне получать фоновое обновление местоположения каждые n минут в моем приложении iOS? , и в нем упоминается
UIApplication:beginBackgroundTaskWithExpirationHandler:
Мои вопросы, как вы используете этот метод? Я искал документы Apple, но они рекурсивно указывают друг на друга, когда имеют дело с фоновым выполнением и обновлениями местоположения без примеров.
У меня есть этот код на основе нескольких примеров, которые я нашел:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
locationUpdater=[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[[UIApplication sharedApplication] endBackgroundTask:locationUpdater];
locationUpdater=UIBackgroundTaskInvalid;
} ];
}
И я добавил ключ "location" в .plist для поддерживаемых фоновых режимов
Гарантирует ли добавление этого только то, что мое приложение не будет убито в течение определенного периода времени, чтобы я мог поддерживать работу таймера? или где я могу добавить методы, которые должны выполняться в фоновом режиме.