Attendre la connexion internet en mettant une application en mode "background" et réouverture


#1

Bonjour à tous,
Je test si j’ai de la connexion internet et si FALSE alors je souhaite fermer l’application (std bye) et quand elle reçu l’info que la connexion (data ou wifi) est OK, elle envoi une notification.

Pour le moment, j’ai fait une UIAlertController mais dans mon present, j’aimerais déjà sortir de l’appli en mettant la bonne fonction dans completion.

let alertController = UIAlertController.init(title: "No Internet Connexion", message: "Make sure your device is connected to the internet (wifi ou data).", preferredStyle: .alert)
alertController.addAction(UIAlertAction(title: "OK", style: .default, handler: { (_ ) in print("arreter le téléchargement car il n'y a pas de données mobile ou wifi activés")}))
alertController.addAction(UIAlertAction(title: "Activer le wifi", style: .default, handler: { (_ ) in print("Activation Wifi")}))
alertController.addAction(UIAlertAction(title: "Activer les données mobiles", style: .default, handler: { (_ ) in print("Activation Données Mobiles")}))
alertController.addAction(UIAlertAction(title: "Close", style: .cancel, handler: nil))
present(alertController, animated: true, completion: nil)

Quelqu’un pourrait m’aider ?


#2

T’as déjà vu une application iOS se fermer toute seule, à part dans un plantage ?


#3

non je sais bien. mais je me disais que je voulais la mettre ‘en pause’ le temps que la connexion revienne et que l’app prévienne qu’elle a télécharger les données.


#4

Tu veux donc plonger l’application en mode background et initier un traitement en tâche de fond pour télécharger les données. C’est peut-être faisable, mais je ne sais pas comment faire. Tu devrais changer le titre de la question, la formulation est trompeuse.


#5

Salut Draken, oui c’est exactement ça.


#6

En fait, j’aimerais savoir si il est possible de mettre une application en Delegate du système pour être prévenu de la reconnexion interenet (datas ou wifi) pour télécharger des données et ainsi afficher un message pour demander la reprise de l’application.

Je ne sais pas si je suis assez clair.