Voici un tutoriel qui nous permettra de tester la disponibilité du réseau dans une applications sous iOS
1- Ajouter le framework SystemConfiguration
2- Télécharger le projet Reachability sur http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html
3- Ajouter la classe Reachability (Reachability.h et Reachability.m) à votre projet
4- Ajouter les deux lignes du code suivantes dans la classe (.m) ou on veut tester la disponibilité du réseau
#import netinet/in.h
#import SystemConfiguration/SystemConfiguration.h
-5- Ajouter la méthode suivante du code suivante dans la classe (.m)ou on veut tester la disponibilité du réseau
- (BOOL)internetIsAvailable {
struct sockaddr_in zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;
SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
SCNetworkReachabilityFlags flags;
BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
CFRelease(defaultRouteReachability);
if (!didRetrieveFlags)
return NO;
BOOL isReachable = flags & kSCNetworkFlagsReachable;
BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
return (isReachable && !needsConnection) ? YES : NO;
}
6- en fait, on ajoute ces lignes pour faire le test
if ([self internetIsAvailable])
{
// effectuer le traitement nécessaire
}
else
{
//afficher une alerte pas exemple
}