Приложение перезагружается через 180 секунд выполнения в фоновом режиме. По включению фоновых режимов в возможностях

Я делаю пример приложения для моего требования код приведен ниже

дизайн: содержит 1 кнопку 1 ярлык

введите описание изображения здесь

.h код файла

@interface ViewController : UIViewController{
    int count;
    NSTimer *theTimer;
    UIBackgroundTaskIdentifier counterTask;
}

@property (weak, nonatomic) IBOutlet UILabel *theCount;

код файла.m

- (IBAction)start:(id)sender {

    counterTask = [[UIApplication sharedApplication]
                   beginBackgroundTaskWithExpirationHandler:^{
                       // If you're worried about exceeding 10 minutes, handle it here

                       theTimer=[NSTimer scheduledTimerWithTimeInterval:0.1
                                                                 target:self
                                                               selector:@selector(countUp)
                                                               userInfo:nil
                                                                repeats:YES];

                   }];
    count=0;
    theTimer=[NSTimer scheduledTimerWithTimeInterval:0.1
                                              target:self
                                            selector:@selector(countUp)
                                            userInfo:nil
                                             repeats:YES];

}

- (void)countUp {
    if (count==100000) {
        [theTimer invalidate];
        [[UIApplication sharedApplication] endBackgroundTask:counterTask];
    } else {
        count++;
        NSString *currentCount;
        currentCount=[[NSString alloc] initWithFormat:@"%d",count];
        _theCount.text=currentCount;
    }
}

проблема заключается в том, что при запуске этого приложения в фоновом режиме (путем нажатия кнопки "Домой" и сворачивания приложения в iPhone) оно перезапускается через 180 секунд даже при включении фоновых режимов в возможностях. Мне нужно продлить это до 4 часов. Помогите мне, пожалуйста.

1 ответ

Решение

Предел для фоновых задач составляет 3 минуты (180 секунд) в более поздних версиях iOS. Вы не можете продлить это до 4 часов.

Документы Apple:

Примечание. Всегда предоставляйте обработчик истечения срока действия при запуске задачи, но если вы хотите узнать, сколько времени осталось запустить ваше приложение, получите значение свойства backgroundTimeRemaining UIApplication.

Good Stack Overflow Пост на тему:

Как долго Apple разрешает запуск фоновой задачи?

Другие вопросы по тегам