Мне нужно выполнить один метод с интервалом в 1 мин каждые 30 минут. После 30 минут, я хочу спать приложение для следующих 30 минут.Выполнять метод бесконечно с помощью NSTimer и NSRunLoop
Я пробовал с API UIBackgroundTaskIdentifier, он позволяет мне выполнять код только за 180 секунд не более того.
Я не хочу использовать тихое дистанционное оповещение.
Использование NSTimer и NSRunLoop Я достиг этого, но я удивляюсь, что яблоко отклонит мое приложение, когда я отправлю.
, пожалуйста, помогите мне, ребята.
- (void)applicationDidEnterBackground:(UIApplication *)application {
[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];
NSTimer *loop = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(insideLoop) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:loop forMode:NSRunLoopCommonModes];
}
-(void)insideLoop {
NSLog(@"insideLoop");
}
Вы не можете бегать в фоновом режиме на неопределенный срок. Ваше приложение будет прекращено через 180 секунд – Paulw11
, когда я попробовал, он регистрировался на неопределенный срок. – sanjayzed
Когда вы работаете под отладчиком, ваше приложение не будет прекращено, если вы превысите фоновое время, но когда вы этого не сделаете. – Paulw11