How to use NetworkReachabilityManager in Alamofire

前端 未结 10 1447
醉酒成梦
醉酒成梦 2020-12-02 14:31

I want functionality similar to AFNetworking in Objective-C with Alamofire NetworkReachabilityManager in Swift:

//Reachability detection
[[AFNet         


        
10条回答
  •  猫巷女王i
    2020-12-02 15:24

    NetworkManager Class

    class NetworkManager {
    
    //shared instance
    static let shared = NetworkManager()
    
    let reachabilityManager = Alamofire.NetworkReachabilityManager(host: "www.google.com")
    
    func startNetworkReachabilityObserver() {
    
        reachabilityManager?.listener = { status in
            switch status {
    
                case .notReachable:
                    print("The network is not reachable")
    
                case .unknown :
                    print("It is unknown whether the network is reachable")
    
                case .reachable(.ethernetOrWiFi):
                    print("The network is reachable over the WiFi connection")
    
                case .reachable(.wwan):
                    print("The network is reachable over the WWAN connection")
    
                }
            }
    
            // start listening
            reachabilityManager?.startListening()
       }
    }
    

    Start Network Reachability Observer

    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
            // add network reachability observer on app start
            NetworkManager.shared.startNetworkReachabilityObserver()
    
            return true
        }
    }
    

提交回复
热议问题