IOS使用Reachability实时检测网络连接状况
2014-06-30 17:01
351 查看
开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息。如果没有处理它们,是不会通过Apple的审查的。
Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法。在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中,然后将 SystemConfiguration.framework 添加进工程
Reachability 中定义了3种网络状态。
typedefenum : NSInteger {
NotReachable =0,//无网络链接
ReachableViaWiFi,//无线网络链接
ReachableViaWWAN,//3G/GPRS网络链接
} NetworkStatus;
程序示例:
//在程序的启动处,开启通知
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//.....
//开启网络状况的监听
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name: kReachabilityChangedNotification
object: nil];
hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];//可以以多种形式初始化
[hostReach startNotifier];
//开始监听,会启动一个run loop
[self updateInterfaceWithReachability: hostReach];
//.....
}
// 连接改变
- (void) reachabilityChanged: (NSNotification*
)note
{
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass:
[Reachability class]]);
[self updateInterfaceWithReachability:
curReach];
}
//处理连接改变后的情况
- (void) updateInterfaceWithReachability: (Reachability*)
curReach
{
//对连接改变做出响应的处理动作。
NetworkStatus status
= [curReach currentReachabilityStatus];
if (status == NotReachable)
{ //没有连接到网络就弹出提实况
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My
App Name"
message:@"NotReachable"
delegate:nil
cancelButtonTitle:@"YES" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法。在你的程序中使用 Reachability 只须将该例程中的 Reachability.h 和 Reachability.m 拷贝到你的工程中,然后将 SystemConfiguration.framework 添加进工程
Reachability 中定义了3种网络状态。
typedefenum : NSInteger {
NotReachable =0,//无网络链接
ReachableViaWiFi,//无线网络链接
ReachableViaWWAN,//3G/GPRS网络链接
} NetworkStatus;
程序示例:
//在程序的启动处,开启通知
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//.....
//开启网络状况的监听
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name: kReachabilityChangedNotification
object: nil];
hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];//可以以多种形式初始化
[hostReach startNotifier];
//开始监听,会启动一个run loop
[self updateInterfaceWithReachability: hostReach];
//.....
}
// 连接改变
- (void) reachabilityChanged: (NSNotification*
)note
{
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass:
[Reachability class]]);
[self updateInterfaceWithReachability:
curReach];
}
//处理连接改变后的情况
- (void) updateInterfaceWithReachability: (Reachability*)
curReach
{
//对连接改变做出响应的处理动作。
NetworkStatus status
= [curReach currentReachabilityStatus];
if (status == NotReachable)
{ //没有连接到网络就弹出提实况
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My
App Name"
message:@"NotReachable"
delegate:nil
cancelButtonTitle:@"YES" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
相关文章推荐
- IOS使用Reachability实时检测网络连接状况
- IOS使用Reachability实时检测网络连接状况
- IOS使用Reachability实时检测网络连接状况
- iOS 使用Reachability实时检测网络连接状况
- IOS使用Reachability实时检测网络连接状况
- IOS使用Reachability实时检测网络连接状况
- IOS使用Reachability实时检测网络连接状况
- IOS使用Reachability实时检测网络连接状况
- Reachability实时检测网络连接状况
- iOS中使用 Reachability 检测网络
- iOS中使用 Reachability 检测网络
- Reachability,ios检测网络使用环境
- IOS常用第三方框架 --- Reachability 检测网络连接
- iOS中使用 Reachability 检测网络
- ios 开发之使用Reachability检测网络状态
- ios 开发之使用Reachability检测网络状态
- iOS中使用 Reachability 检测网络
- iOS中使用 Reachability 检测网络
- iOS中使用 Reachability 检测网络
- iOS中使用 Reachability 检测网络