/* Copyright (C) 2015 Apple Inc. All Rights Reserved. See LICENSE.txt for this sample’s licensing information Abstract: Basic demonstration of how to use the SystemConfiguration Reachablity APIs. */ #import #import #import typedef NS_ENUM(NSInteger, NetworkStatus) { NotReachable = 0, ReachableViaWiFi, ReachableViaWWAN }; extern NSString *kReachabilityChangedNotification; @interface Reachability : NSObject /*! * Use to check the reachability of a given host name. */ + (instancetype)reachabilityWithHostName:(NSString *)hostName; /*! * Use to check the reachability of a given IP address. */ + (instancetype)reachabilityWithAddress:(const struct sockaddr_in *)hostAddress; /*! * Checks whether the default route is available. Should be used by applications that do not connect to a particular host. */ + (instancetype)reachabilityForInternetConnection; /*! * Checks whether a local WiFi connection is available. */ + (instancetype)reachabilityForLocalWiFi; /*! * Start listening for reachability notifications on the current run loop. */ @property (NS_NONATOMIC_IOSONLY, readonly) BOOL startNotifier; - (void)stopNotifier; @property (NS_NONATOMIC_IOSONLY, readonly) NetworkStatus currentReachabilityStatus; /*! * WWAN may be available, but not active until a connection has been established. WiFi may require a connection for VPN on Demand. */ @property (NS_NONATOMIC_IOSONLY, readonly) BOOL connectionRequired; @end