Como faço para que meu aplicativo execute um NSTimer em segundo plano?

Estou fazendo um aplicativo de benchmark SOMENTE para fins de teste. Não pretendo que isso vá para a App Store.

O que eu preciso é do meu NSTimer para continuar executando em segundo plano usando um UIBackgroundTaskIdentifier, salvar dados em um banco de dados Core Data e finalmente enviar os dados para um servidor (estou usando o Parse), após um determinado intervalo de tempo, é clar

Então, basicamente, eu não encontrei nenhuma pergunta que se aplica ao meu caso específico. Defino meu NSTimer da seguinte forma:

    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];

o método updateCoreData simplesmente chama a classe Core Data e faz as inserções necessária

Eu li sobre o VoIP e a parte musical, mas não sei exatamente qual deles se aplicaria melhor ao meu caso, nem como implementá-lo

questionAnswers(4)

yourAnswerToTheQuestion