Как заставить мое приложение запускать NSTimer в фоновом режиме?

Я делаю тестовое приложение ТОЛЬКО для тестовых целей. Я не собираюсь попадать в App Store.

Мне нужно, чтобы мой NSTimer продолжал работать в фоновом режиме с использованием UIBackgroundTaskIdentifier, сохранял данные в базе данных Core Data и, наконец, отправлял данные на сервер (я использую Parse), конечно же, через определенный интервал времени. .

В общем, я не нашел вопросов, относящихся к моему конкретному случаю. Я установил свой NSTimer следующим образом:

    UIBackgroundTaskIdentifier bgTask;
UIApplication  *app = [UIApplication sharedApplication];
bgTask = [app beginBackgroundTaskWithExpirationHandler:^{
    [app endBackgroundTask:bgTask]; 
}];

self.timer = [NSTimer scheduledTimerWithTimeInterval:self.localInterval target:self selector:@selector(updateCoreData:) userInfo:nil repeats:YES];

метод updateCoreData просто вызывает класс Core Data и выполняет необходимые вставки.

Я читал о VoIP и музыкальной составляющей, но не знаю, какой из них лучше всего подходит для моего случая, и как их реализовать.

12
задан LilDwarf 9 February 2012 в 23:43
поделиться