Ios 网络请求期间Wifi不可用
我正在使用AFNetowrking同步调用一个web服务。例如,我正在将一些数据上传到服务器上,而上传时wifi已断开。我如何知道wifi不可用并取消请求?在wifi再次激活之前重试请求如何Ios 网络请求期间Wifi不可用,ios,objective-c,afnetworking-2,Ios,Objective C,Afnetworking 2,我正在使用AFNetowrking同步调用一个web服务。例如,我正在将一些数据上传到服务器上,而上传时wifi已断开。我如何知道wifi不可用并取消请求?在wifi再次激活之前重试请求如何 试试这个cocoapod:我不知道您是否使用过可达性类。但如果不使用,则在下面的苹果示例代码中给出 将这些类包括在项目中。现在,在AppDelegate.m文件的帮助下,您可以跟踪网络的可用性 在didfishlaunchingwithoptions:方法中添加通知观察者。这将通知网络更改 - (BOOL
试试这个cocoapod:我不知道您是否使用过可达性类。但如果不使用,则在下面的苹果示例代码中给出 将这些类包括在项目中。现在,在
AppDelegate.m
文件的帮助下,您可以跟踪网络的可用性
在didfishlaunchingwithoptions:
方法中添加通知观察者。这将通知网络更改
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityDidChange:) name:kReachabilityChangedNotification object:nil];
}
当主机连接或网络连接发生任何更改时,将调用通知方法
- (void)reachabilityDidChange:(NSNotification *)notification {
Reachability *reachability = (Reachability *)[notification object];
NetworkStatus internetStatus = [reachability currentReachabilityStatus];
switch (internetStatus) {
case NotReachable: {
NSLog(@"The internet is down.");
break;
}
case ReachableViaWiFi: {
NSLog(@"The internet is working via WIFI.");
break;
}
case ReachableViaWWAN: {
NSLog(@"The internet is working via WWAN.");
break;
}
}
NetworkStatus hostStatus = [reachability currentReachabilityStatus];
switch (hostStatus) {
case NotReachable: {
NSLog(@"A gateway to the host server is down.");
break;
}
case ReachableViaWiFi: {
NSLog(@"A gateway to the host server is working via WIFI.");
break;
}
case ReachableViaWWAN: {
NSLog(@"A gateway to the host server is working via WWAN.");
break;
}
}
}
当您失去连接时,取消NSURLConnection
请求
要取消正在进行的请求,请使用
-(void)cancel代码>NSURLConnection的方法
是否使用可达性类是。在同步请求之前检查wifi。但是,尽管这项工作正在进行中,这就是问题所在