NetworkReachabilityManager

open class NetworkReachabilityManager

The NetworkReachabilityManager class listens for reachability changes of hosts and addresses for both WWAN and WiFi network interfaces.

Reachability can be used to determine background information about why a network operation failed, or to retry network requests when a connection is established. It should not be used to prevent a user from initiating a network request, as it’s possible that an initial request may be required to establish reachability.

  • Defines the various states of network reachability.

    See more

    Declaration

    Swift

    public enum NetworkReachabilityStatus
  • Defines the various connection types detected by reachability flags.

    See more

    Declaration

    Swift

    public enum ConnectionType
  • A closure executed when the network reachability status changes. The closure takes a single argument: the network reachability status.

    Declaration

    Swift

    public typealias Listener = (NetworkReachabilityStatus) -> Void
  • Whether the network is currently reachable.

    Declaration

    Swift

    open var isReachable: Bool { get }
  • Whether the network is currently reachable over the WWAN interface.

    Declaration

    Swift

    open var isReachableOnWWAN: Bool { get }
  • Whether the network is currently reachable over Ethernet or WiFi interface.

    Declaration

    Swift

    open var isReachableOnEthernetOrWiFi: Bool { get }
  • The current network reachability status.

    Declaration

    Swift

    open var networkReachabilityStatus: NetworkReachabilityStatus { get }
  • The dispatch queue to execute the listener closure on.

    Declaration

    Swift

    open var listenerQueue: DispatchQueue
  • A closure executed when the network reachability status changes.

    Declaration

    Swift

    open var listener: NetworkReachabilityManager.Listener?
  • Flags of the current reachability type, if any.

    Declaration

    Swift

    open var flags: SCNetworkReachabilityFlags? { get }
  • Reachability flags of the previous reachability state.

    Declaration

    Swift

    open var previousFlags: SCNetworkReachabilityFlags
  • Creates an instance with the specified host.

    Declaration

    Swift

    public convenience init?(host: String)

    Parameters

    host

    Host used to evaluate network reachability. Must not include the scheme (i.e. https).

  • Creates an instance that monitors the address 0.0.0.0.

    Reachability treats the 0.0.0.0 address as a special token that causes it to monitor the general routing status of the device, both IPv4 and IPv6.

    Declaration

    Swift

    public convenience init?()
  • Starts listening for changes in network reachability status.

    Declaration

    Swift

    @discardableResult
    open func startListening() -> Bool

    Return Value

    true if listening was started successfully, false otherwise.

  • Stops listening for changes in network reachability status.

    Declaration

    Swift

    open func stopListening()