J'ai un problème avec NetworkReachabilityManager
de Alamofire
. J'ai essayé de tester la connexion avec cet exemple code:Alamofire - NetworkReachabilityManager ne fonctionne pas avec .notReachable
override func viewDidLoad() {
super.viewDidLoad()
let manager = NetworkReachabilityManager(host: "www.apple.com")
manager?.listener = { status in
switch status {
case .notReachable:
print("network connection status - lost")
case .reachable(NetworkReachabilityManager.ConnectionType.ethernetOrWiFi):
print("network connection status - ethernet/WiFI")
case .reachable(NetworkReachabilityManager.ConnectionType.wwan):
print("network connection status - wwan")
default:
break
}
}
manager?.startListening()
}
Lorsque j'ai essayé de mettre le wifi hors et j'ai reçu seule réponse vide. Aucune réponse comme "état de la connexion réseau - perdu".
Mais quand j'ai essayé de mettre le wifi et j'ai reçu le résultat « état de la connexion réseau - Ethernet/WiFI » dans ce qui est une bonne réponse. Une idée de ce qui ne va pas avec .notReachable
? Toute suggestion appréciée.
Je pense que votre problème est lié à la définition d'instance de gestionnaire, vous pouvez poster où vous déclarez 'laisser gestionnaire = NetworkReachabilityManager (hôte: "www.apple.com") 'dans une méthode? –
@ReinierMelian J'ai mis à jour mon message. Donc, vous pouvez voir où est la méthode. (Gardez à l'esprit que je pouvais déplacer les codes à une autre méthode ne Si je les déplace pas être seulement dans la méthode viewDidLoad. À une autre méthode, alors il a les mêmes problèmes comme ci-dessus.) – HotDudeSmith
gestionnaire annoncez comme variable dans votre UIViewController puis dans viewDidLoad initialiser cette variable, et laissez-moi savoir si votre question permet de résoudre, j'utilise NetworkReachabilityManager dans une classe singleton –