SCNetworkReachability class is the wrapper on C-structures and C-functions of SCNetworkReachability API in SystemConfiguration.framework
Add to Podfile
pod 'SCNetworkReachability'
And run command
pod install
cd <project source directory>
git submodule add https://github.com/belkevich/reachability-ios.git <submodules directory>
Then add files to your XCode project. And add SystemConfiguration.framework
to your Target
-> Build phases
-> Link Binary With Libraries
SCNetworkReachability *reachability = [[SCNetworkReachability alloc] initWithHostName:@"www.apple.com"];
if (reachability.status == SCNetworkStatusNotReachable)
{
// no internet connection
}
else
{
// do network connection
}
SCNetworkReachability *reachability = [[SCNetworkReachability alloc] initWithHostName:@"www.apple.com"];
if (reachability.status == SCNetworkStatusViaCellular)
{
// internet connection via cellular
}
else if (reachability.status == SCNetworkStatusViaWiFi)
{
// internet connection via Wi-Fi
}
Class that will be check changes should implement SCNetworkReachabilityDelegate
protocol methods:
@protocol SCNetworkReachabilityDelegate <NSObject>
@required
- (void)reachabilityDidChange:(SCNetworkReachability *)reachability;
@optional
- (void)reachability:(SCNetworkReachability *)reachability didFail:(NSError *)error;
@end
And set reachability instance delegate to self
SCNetworkReachability *reachability = [[SCNetworkReachability alloc] initWithHostName:@"www.apple.com"];
reachability.delegate = self;