¿Cómo hago que mi aplicación ejecute un NSTimer en segundo plano?

Estoy haciendo una aplicación de referencia SOLO para fines de prueba. No tengo la intención de que esto vaya a la App Store.

Lo que necesito es que mi NSTimer continúe ejecutándose en segundo plano usando un UIBackgroundTaskIdentifier, guarde datos en un Core Data db y finalmente envíe los datos a un servidor (estoy usando Parse), después de un cierto intervalo de tiempo, por supuesto.

Así que, básicamente, no he encontrado ninguna pregunta que se aplique a mi caso específico. Configuré mi NSTimer así:

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

el método updateCoreData simplemente llama a la clase Core Data y realiza las inserciones necesarias.

He leído sobre VoIP y la parte musical, pero no sé exactamente cuál se aplicaría mejor a mi caso, ni cómo implementarlos.

Respuestas a la pregunta(4)

Su respuesta a la pregunta