148iPhone: Checking Network Availability

Checking whether network is present and active. By way of: http://70.40.216.232/forums/viewtopic.php?f=21&t=425 UIApplication-Network.h

//
//  UIApplication-Network.h
//
//  SystemConfiguration.framework will need to be added to your project
//
//  To use just call as a class function [UIApplication hasNetworkConnection]
//

#import 
#import 


@interface UIApplication (NetworkExtensions)

+(BOOL)hasActiveWiFiConnection;     // fast wi-fi connection
+(BOOL)hasNetworkConnection;     // any type of internet connection (edge, 3g, wi-fi)

@end
UIApplication-Network.m
//
//  UIApplication-Network.m
//

#import "UIApplication-Network.h"


@implementation UIApplication (NetworkExtensions)

#define ReachableViaWiFiNetwork          2
#define ReachableDirectWWAN               (1 << 18)
// fast wi-fi connection
+(BOOL)hasActiveWiFiConnection
{
	SCNetworkReachabilityFlags     flags;
	SCNetworkReachabilityRef     reachabilityRef;
	BOOL                              gotFlags;
	
	reachabilityRef     = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.apple.com" UTF8String]);
	gotFlags          = SCNetworkReachabilityGetFlags(reachabilityRef, &flags);
	CFRelease(reachabilityRef);
	
	if (!gotFlags)
	{
		return NO;
	}
	
	if( flags & ReachableDirectWWAN )
	{
		return NO;
	}
	
	if( flags & ReachableViaWiFiNetwork )
	{
		return YES;
	}
	
	return NO;
}

// any type of internet connection (edge, 3g, wi-fi)
+(BOOL)hasNetworkConnection;
{
    SCNetworkReachabilityFlags     flags;
    SCNetworkReachabilityRef     reachabilityRef;
    BOOL                              gotFlags;
    
    reachabilityRef     = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.apple.com" UTF8String]);
    gotFlags          = SCNetworkReachabilityGetFlags(reachabilityRef, &flags);
    CFRelease(reachabilityRef);
    
    if (!gotFlags || (flags == 0) )
    {
        return NO;
    }
    
    return YES;
}

@end

Also, don't forget to add the SystemConfiguration.framework to the Frameworks folder in your application. In case you get errors like that:
		  
"_SCNetworkReachabilityGetFlags", referenced from:
		      +[UIApplication(NetworkExtensions) hasActiveWiFiConnection] in UIApplication-Network.o
		      +[UIApplication(NetworkExtensions) hasNetworkConnection] in UIApplication-Network.o
		  "_SCNetworkReachabilityCreateWithName", referenced from:
		      +[UIApplication(NetworkExtensions) hasActiveWiFiConnection] in UIApplication-Network.o
		      +[UIApplication(NetworkExtensions) hasNetworkConnection] in UIApplication-Network.o
		ld: symbol(s) not found
		collect2: ld returned 1 exit status
Build failed (2 errors)
Picture 4