Приложение перезагружается через 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 Пост на тему: