Вызовите RESTful API, пока приложение находится в фоновом режиме в течение неопределенного времени. - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу вызывать метод 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 через регулярный интервал?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...