Comment faire en sorte que mon application exécute un NSTimer en arrière-plan?

Je suis en train de faire un test d'Application à des fins de test UNIQUEMENT. Je ne suis pas vouloir aller à l'App Store.

Ce dont j'ai besoin est mon NSTimer continuer à exécuter sur le fond à l'aide d'un UIBackgroundTaskIdentifier, enregistrer des données dans une Base de Données db et enfin de pousser les données à un serveur (je suis en utilisant Parse), après un certain intervalle de temps, bien sûr.

Donc, fondamentalement, je n'ai pas trouvé toutes les questions qui s'appliquent à mon cas précis. J'ai mis mon NSTimer comme suit:

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

la méthode updateCoreData appelle simplement la Base de Données de la classe et fait le nécessaire insertions.

J'ai lu à propos de la VoIP et de la Musique en jouant de la partie, mais vous ne savez pas exactement où l'on appliquerait le mieux pour mon cas, ni la façon de les mettre en œuvre.

source d'informationauteur LilDwarf | 2012-02-09

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *