Je voudrais appeler une méthode lorsque mon application iOS démarre, mais je veux juste appeler cette méthode quand il y a une connexion. J'ai trouvé que dans Objective-C vous pouvez utiliser Reachable
, mais il s'avère que cette méthode ne fait pas partie de Swift.Swift: Comment puis-je avoir un écouteur qui signale quand la connexion est perdue et quand elle revient?
J'ai trouvé un pod appelé Reachability.swift, et je suis en utilisant l'exemple qui a été fourni:
override func viewWillAppear(animated: Bool) {
let reachability: Reachability
do {
reachability = try Reachability.reachabilityForInternetConnection()
} catch {
print("Unable to create Reachability")
return
}
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "reachabilityChanged:",
name: ReachabilityChangedNotification,
object: reachability)
do {
try reachability.startNotifier()
} catch {
print("This is not working.")
return
}
}
func reachabilityChanged(note: NSNotification) {
let reachability = note.object as! Reachability
if reachability.isReachable() {
if reachability.isReachableViaWiFi() {
print("Reachable via WiFi")
} else {
print("Reachable via Cellular")
}
} else {
print("Not reachable")
}
}
Cependant, cela ne fonctionne correctement. Je ne travaille que lorsque j'entre dans ce ViewController, mais pas quand j'allume et éteint le WiFi.
Hey j'ai essayé d'utiliser ceci pour mon projet, mais il semble que dans swift 3 .reachabilityForInternetConnection() n'est pas reconnu: pouvez-vous m'aider à résoudre ce problème? – Dakata
Votre solution a fonctionné pour moi aussi ... merci! :) –