2017-02-15 2 views
0

Sur Android, les services nous permettent de continuer à exécuter du code même lorsque l'application n'est pas exécutée en arrière-plan, car le service continue à s'exécuter même si l'application qui a démarré le service est arrêtée.Comment faire en sorte qu'une application iOS puisse exécuter du code même lorsque l'application n'est pas exécutée en arrière-plan?

Je cherche à faire de même sur iOS. Je connais backgroundFetch mais cela ne fonctionne que lorsque l'application est en arrière-plan.

+0

Apple ne fournit pas comme ça, vous ne pouvez appeler le service lorsque l'application est arrière-plan. Lorsque votre application n'est pas en cours d'exécution ou terminée, vous ne pouvez rien faire pour exécuter le service –

+0

Etes-vous sûr. Il n'y a pas d'alternative. Peut être un code tiers. –

+0

Je suis sûr qu'il n'y aura rien qui pourrait vous aider à exécuter le service lorsque votre application n'est pas en cours d'exécution ou terminée. Voir ma question et la réponse des utilisateurs http://stackoverflow.com/questions/39720213/increase-badge-count-from-client-side-not-from-payload-receive-count –

Répondre

1

Vous ne pouvez pas exécuter de code lorsque l'application est terminée dans iOS comme indiqué dans le documentation.

Vous pouvez faire quelque chose avant que l'application ne se termine en utilisant les moyens suivants.

func applicationWillTerminate(_ application: UIApplication) { 
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 

} 

ou en enregistrant une notification partout dans l'application

NotificationCenter.default.addObserver(forName: NSNotification.Name.UIApplicationWillTerminate, object: nil, queue: OperationQueue.main) { (notification) in 

}