Я хочу вызывать метод post каждые 60 секунд, пока приложение находится в фоновом режиме. Моя цель - сохранить местоположение пользователя и отправить его на мой сервер. На данный момент для целей тестирования я использовал beginBackgroundTaskWithExpirationHandler
и NSTime
за каждые 3 секунды вызова временного почтового звонка, и он работает нормально. Но проблема в том, что эта фоновая задача останавливается после 10-кратного вызова. но я хочу, чтобы оно вызывало неопределенное время в определенном интервале (предположим, каждые 60 с или один раз в день).
Приложение iOS Цель развертывания: 9.0 и проект Objective C с быстрой совместимостью. Пока я сделал это:
- (void)applicationWillResignActive:(UIApplication *)application {
self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
[self endBackgroundUpdateTask];
}];
}
- (void) endBackgroundUpdateTask
{
[[UIApplication sharedApplication] endBackgroundTask: self.backgroundUpdateTask];
self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[self endBackgroundUpdateTask];
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
[NSTimer scheduledTimerWithTimeInterval:3.0 repeats:YES block:^(NSTimer * _Nonnull timer) {
[self targetMethod];
}];
}
Может кто-нибудь помочь мне, как я могу назвать это targetMethod
через регулярный интервал?
Спасибо