2013-11-21 3 views
1

У меня есть приложение прямо сейчас, что позволяет пользователю извлекать информацию с веб-сайта. У меня, к сожалению, нет никакого доступа к API для сайта, это просто что-то, что я просматриваю. В идеале пользователь будет очищать информацию один раз в день с сайта. В настоящее время я установил время и использовал performFetchWithCompletionHandler. Когда вызывается performFetchWithCompletionHandler, он проверяет время, которое было установлено, и если время является текущим временем, оно будет выполнять очистку. К сожалению, performFetchWithCompletionHandler не работает таким образом (я не могу гарантировать, что он будет стрелять в течение часа & минуты, указанного пользователем). Есть ли способ позволить моему приложению работать в фоновом режиме и очищать веб-сайт в определенный промежуток времени?Лучший способ запланировать фоновое задание для iOS?

+0

Выполнение операции на основе блока GCD с использованием 'NSTimer'. –

+0

@rmaddy, это почти дубликат, но этот вопрос был до того, как выбор был включен, и выборка позволяет это работать, но не самым идеальным образом. Я надеялся, что что-то всплыло бы. – TheRedAgent

+1

@ SanjeetSuhag не будет отключен NSTimer, когда мое приложение попадет на задний план? – TheRedAgent

ответ

1

это может быть полезным для вас ...

Первый заявляют, NSTimer * timerAppBG; в файле AppDelegate.h ....

-> Пожалуйста, поставьте ржали все методы AppDelegate.m File ...

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    timerAppBG = [NSTimer scheduledTimerWithTimeInterval:60.0f target:self selector:@selector(applicationWillResign) userInfo:nil repeats:YES]; 
} 
- (void) applicationWillResign 
{ 
     NSLog(@"About to lose focus"); 
    //Write your code here... 
    [self myVcInitMethod]; 
} 

- (void) myVcInitMethod 
{ 
    [[NSNotificationCenter defaultCenter] 
    addObserver:self 
    selector:@selector(applicationWillResign) 
    name:UIApplicationWillResignActiveNotification 
    object:NULL]; 
} 

Спасибо.

+0

Я добавил это, но applicationWillResign никогда не запускается. Я поставил NSLog чуть выше таймераAppBg = [NSTimer ...], и его уволили, но по какой-то причине приложениеWillResign никогда не вызывается (я не вижу вызывающую линию «О терять фокус». – TheRedAgent

Смежные вопросы