Мне нужно отправить состояние сети на некоторый аналитический сервер, поэтому мне нужно отправить его после запуска приложения.Я пытался использовать Alamofire, но обычно получаю статус Неизвестно, если есть какая-то задержка, он показывает правильный статус: Этот код будет работать в моем AppDelegate (didFinishLaunchingWithOptions):
AFNetworkReachabilityManager.shared().startMonitoring()
AFNetworkReachabilityManager.shared().localizedNetworkReachabilityStatusString()
Что лучшеспособ получить правильный статус сразу?
ОБНОВЛЕНИЕ 1:
Я обновил свой код и попытался использовать обработчик завершения, но почему, когда я использую этот метод, он напечатает несколько ДА?
connectedCompletionBlock({ connected in
if connected {
print("YES")
} else {
print("NO")
}
})
class func connectedCompletionBlock(_ completion: @escaping (_ connected: Bool) -> Void) {
AFNetworkReachabilityManager.shared().startMonitoring()
AFNetworkReachabilityManager.shared().setReachabilityStatusChange({ status in
var isConnected = false
let wifi = AFNetworkReachabilityStatus.reachableViaWiFi
let wwan = AFNetworkReachabilityStatus.reachableViaWWAN
if ( status == wifi || status == wwan) {
con = true
}
AFNetworkReachabilityManager.shared().stopMonitoring()
completion(isConnected)
})
}