You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.6 KiB
65 lines
1.6 KiB
1 year ago
|
/*
|
||
|
Copyright (C) 2016 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 <Foundation/Foundation.h>
|
||
|
#import <SystemConfiguration/SystemConfiguration.h>
|
||
|
#import <netinet/in.h>
|
||
|
|
||
|
|
||
|
typedef enum : NSInteger {
|
||
|
NotReachable = 0,
|
||
|
ReachableViaWiFi,
|
||
|
ReachableViaWWAN
|
||
|
} NetworkStatus;
|
||
|
|
||
|
#pragma mark IPv6 Support
|
||
|
//Reachability fully support IPv6. For full details, see ReadMe.md.
|
||
|
|
||
|
|
||
|
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 *)hostAddress;
|
||
|
|
||
|
/*!
|
||
|
* Checks whether the default route is available. Should be used by applications that do not connect to a particular host.
|
||
|
*/
|
||
|
+ (instancetype)reachabilityForInternetConnection;
|
||
|
|
||
|
|
||
|
#pragma mark reachabilityForLocalWiFi
|
||
|
//reachabilityForLocalWiFi has been removed from the sample. See ReadMe.md for more information.
|
||
|
//+ (instancetype)reachabilityForLocalWiFi;
|
||
|
|
||
|
/*!
|
||
|
* Start listening for reachability notifications on the current run loop.
|
||
|
*/
|
||
|
- (BOOL)startNotifier;
|
||
|
- (void)stopNotifier;
|
||
|
|
||
|
- (NetworkStatus)currentReachabilityStatus;
|
||
|
|
||
|
/*!
|
||
|
* WWAN may be available, but not active until a connection has been established. WiFi may require a connection for VPN on Demand.
|
||
|
*/
|
||
|
- (BOOL)connectionRequired;
|
||
|
|
||
|
@end
|
||
|
|
||
|
|