Back to Alamofire

NetworkReachabilityManager

docs/docsets/Alamofire.docset/Contents/Resources/Documents/Classes/NetworkReachabilityManager.html

5.12.04.9 KB
Original Source

NetworkReachabilityManager

@available(macOS, deprecated: 14.4, message: "Use NWPathMonitor instead.")
@available(iOS, deprecated: 17.4, message: "Use NWPathMonitor instead.")
@available(watchOS, deprecated: 9.4, message: "Use NWPathMonitor instead.")
@available(tvOS, deprecated: 17.4, message: "Use NWPathMonitor instead.")
@available(visionOS, deprecated: 1.4, message: "Use NWPathMonitor instead.")
open class NetworkReachabilityManager : @unchecked Sendable

The NetworkReachabilityManager class listens for reachability changes of hosts and addresses for both cellular 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.

`

                NetworkReachabilityStatus
                `

Defines the various states of network reachability.

See more

Declaration

Swift

public enum NetworkReachabilityStatus : Equatable, Sendable

`

                Listener
                `

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

Declaration

Swift

public typealias Listener = @Sendable (NetworkReachabilityStatus) -> Void

`

                default
                `

Default NetworkReachabilityManager for the zero address and a listenerQueue of .main.

Declaration

Swift

public static let `default`: NetworkReachabilityManager?

Properties

`

                isReachable
                `

Whether the network is currently reachable.

Declaration

Swift

open var isReachable: Bool { get }

`

                isReachableOnCellular
                `

Whether the network is currently reachable over the cellular interface.

Note

Using this property to decide whether to make a high or low bandwidth request is not recommended. Instead, set the allowsCellularAccess on any URLRequests being issued.

Declaration

Swift

open var isReachableOnCellular: Bool { get }

`

                isReachableOnEthernetOrWiFi
                `

Whether the network is currently reachable over Ethernet or WiFi interface.

Declaration

Swift

open var isReachableOnEthernetOrWiFi: Bool { get }

`

                reachabilityQueue
                `

DispatchQueue on which reachability will update.

Declaration

Swift

public let reachabilityQueue: DispatchQueue

`

                flags
                `

Flags of the current reachability type, if any.

Declaration

Swift

open var flags: SCNetworkReachabilityFlags? { get }

`

                status
                `

The current network reachability status.

Declaration

Swift

open var status: NetworkReachabilityStatus { get }

Initialization

`

                init(host:)
                `

Creates an instance with the specified host.

Note

The host value must not contain a scheme, just the hostname.

Declaration

Swift

public convenience init?(host: String)

Parameters

| host |

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

|

`

                init()
                `

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?()

Listening

`

                startListening(onQueue:onUpdatePerforming:)
                `

Starts listening for changes in network reachability status.

Note

Stops and removes any existing listener.

Declaration

Swift

@discardableResult
@preconcurrency
open func startListening(onQueue queue: DispatchQueue = .main,
                         onUpdatePerforming listener: @escaping Listener) -> Bool

Parameters

| queue |

DispatchQueue on which to call the listener closure. .main by default.

| | listener |

Listener closure called when reachability changes.

|

Return Value

true if listening was started successfully, false otherwise.

`

                stopListening()
                `

Stops listening for changes in network reachability status.

Declaration

Swift

open func stopListening()