2010-12-01 9 views
0

Je développe une application d'entreprise qui a beaucoup de contenu dynamique. Existe-t-il un moyen d'avoir l'application mise à jour automatique du contenu (nouvelles histoires, télécharger de nouvelles vidéos, etc) à 3 heures du matin tous les dimanches.Mise à jour automatique du contenu de l'iPhone

Est-ce possible?

+1

Pourquoi ne pas demander à l'application de rechercher les mises à jour au démarrage? L'application fonctionnera-t-elle 24/7? –

+0

App ne sera pas nessicairly (sp?) Être sur l'écran, mais serait en cours d'exécution dans l'arrière-plan. Il peut y avoir quelques grandes vidéos à télécharger. – smcdrc

Répondre

1

Bien qu'il ne soit pas possible de le faire lorsque l'application n'est pas en cours d'exécution, vous pouvez le faire assez facilement au lancement ou en cours d'exécution (si elle doit tourner à 3 heures du matin). Voici ce que je ferais:

  • un magasin NSDate en utilisant NSUserDefaults pour la dernière fois que vous mis à jour.
  • Au lancement, si une période de 3 heures s'est écoulée depuis cette date, lancez une synchronisation.
  • Également au lancement, commencez un NSTimer avec un long intervalle-5 minutes environ. À chaque tir, vérifiez si une période de 3 heures est passée et si c'est le cas, lancez une synchronisation. Vous pouvez même lancer le code de la dernière balle dans cette méthode de tir de NSTimer et l'exécuter une fois au lancement. Assurez-vous simplement de mettre à jour l'objet NSDate à chaque fois.
  • Dans le délégué de l'application, dans les méthodes appelées à partir du retour de l'arrière-plan, vérifiez l'heure et la synchronisation si nécessaire - ou démarrez simplement le NSTimer et lancez-le immédiatement en premier.

Cela devrait couvrir tous les scénarios où vous devez mettre à jour l'application.

Questions connexes