Reachability的网络连接的设置
2013-01-13 11:13
218 查看
目前IOS的网络应用程序,都是需要进行网络连接的判断的,如果没有这个连接的判断,在APP的审核是无法通过的。那么今天将讲解一个比较常用的基础类库,用于判断网络的连接状况,这个类,就是 Reachability类库。
具体使用步骤:
1.首先是将Reachability类库的头文件和M文件同时导入到工程当中。
2.添加SystemConfiguration.framework。
具体使用,分如下几个情况:
1.直接检查网络的连接状况。
Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”];
switch ([r currentReachabilityStatus]) {
case NotReachable:
// 没有网络连接
break;
case ReachableViaWWAN:
// 使用3G网络
break;
case ReachableViaWiFi:
// 使用WiFi网络
break;
}
注意:这种方法,是在需要获取数据的时候,只能够判断一次。
2.判断是3G网络还是无线局域网。
// 是否WIFI
+
(BOOL) IsEnableWIFI {
return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
}
// 是否3G
+ (BOOL) IsEnable3G {
return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
}
3.
实时的去判断网络的连接情况。
通知是最好的实现方法。另外,需要注意的一点就是Reachability类,其实还有一个1.5版本,2.0版本的问题。现在基本上都是使用2.0版本。
// MyAppDelegate.h
@class Reachability;
@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
Reachability *hostReach;
}
@end
// MyAppDelegate.m
- (void)reachabilityChanged:(NSNotification *)note {
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NetworkStatus status = [curReach currentReachabilityStatus];
if (status == NotReachable) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AppName""
message:@"NotReachable"
delegate:nil
cancelButtonTitle:@"YES" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// ...
// 监测网络情况
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name: kReachabilityChangedNotification
object: nil];
hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];
hostReach startNotifer];
// ...
}
具体使用步骤:
1.首先是将Reachability类库的头文件和M文件同时导入到工程当中。
2.添加SystemConfiguration.framework。
具体使用,分如下几个情况:
1.直接检查网络的连接状况。
Reachability *r = [Reachability reachabilityWithHostName:@“www.apple.com”];
switch ([r currentReachabilityStatus]) {
case NotReachable:
// 没有网络连接
break;
case ReachableViaWWAN:
// 使用3G网络
break;
case ReachableViaWiFi:
// 使用WiFi网络
break;
}
注意:这种方法,是在需要获取数据的时候,只能够判断一次。
2.判断是3G网络还是无线局域网。
// 是否WIFI
+
(BOOL) IsEnableWIFI {
return ([[Reachability reachabilityForLocalWiFi] currentReachabilityStatus] != NotReachable);
}
// 是否3G
+ (BOOL) IsEnable3G {
return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] != NotReachable);
}
3.
实时的去判断网络的连接情况。
通知是最好的实现方法。另外,需要注意的一点就是Reachability类,其实还有一个1.5版本,2.0版本的问题。现在基本上都是使用2.0版本。
// MyAppDelegate.h
@class Reachability;
@interface MyAppDelegate : NSObject <UIApplicationDelegate> {
Reachability *hostReach;
}
@end
// MyAppDelegate.m
- (void)reachabilityChanged:(NSNotification *)note {
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NetworkStatus status = [curReach currentReachabilityStatus];
if (status == NotReachable) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AppName""
message:@"NotReachable"
delegate:nil
cancelButtonTitle:@"YES" otherButtonTitles:nil];
[alert show];
[alert release];
}
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// ...
// 监测网络情况
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name: kReachabilityChangedNotification
object: nil];
hostReach = [[Reachability reachabilityWithHostName:@"www.google.com"] retain];
hostReach startNotifer];
// ...
}
相关文章推荐
- iOS之Reachability和AFN判断网络连接状态
- win 10 远程连接出现 "由于安全设置错误, 客户端无法连接到远程计算机. 确定你已登录到网络后.” 错误
- 虚拟机设置中的各种网络连接方式详解
- Reachability(判断网络是否连接)
- VirtualBox虚拟机网络连接设置的四种方式
- windows与wmware下FC linux的网络连接设置
- 网络连接慢,设置ip过程中碰到的问题
- 使用vSphere Distributed Switch设置网络连接
- j2me 网络连接 HttpConnection设置(转)
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
- Ubuntu通过命令行设置无线网络连接
- 安卓实训第九天---Activity的复习以及在Onstart里设置网络连接
- Xcode7连接网络设置
- IOS AFNetworking2.2 setReachabilityStatusChangeBlock检测网络连接状态
- win7下设置无线网络连接的图文方法
- VM网络连接设置详解
- win7设置无线连接为家庭网络操作步骤
- 判断网络是否畅通,否则设置网络连接
- Win7 开启upnp服务,直接在网络中设置连接路由设备
- 无线或网络未连接时跳到设置界面