我有一個問題NetworkReachabilityManager
從Alamofire
。我試圖測試與此示例代碼的連接:Alamofire - NetworkReachabilityManager無法使用.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()
}
當我試圖關閉wifi,我收到只有空白的迴應。沒有像「網絡連接狀態 - 丟失」之類的響應。
但是,當我試圖打開wifi,我收到結果「網絡連接狀態 - 以太網/ WiFI」,其中是良好的響應。任何想法.notReachable
有什麼問題?任何建議表示讚賞。
一個經理,我認爲你的問題是有關管理器實例定義,你可以發佈你在哪裏聲明'讓經理= NetworkReachabilityManager(主機:「www.apple.com」)'方法內? –
@ReinierMelian我更新了我的帖子。所以你可以看到方法在哪裏。 (請記住,我可以將這些代碼移動到不同的方法,它不必只是在viewDidLoad方法中,如果我將它們移動到不同的方法,則它具有與上述相同的問題。) – HotDudeSmith
在您的UIViewController中將manager聲明爲變量然後在viewDidLoad初始化該變量,並讓我知道如果解決您的問題,我使用NetworkReachabilityManager在單身類 –