Ios AFNetworking正在检查网络是否可用
我正在用AFN检查网络Ios AFNetworking正在检查网络是否可用,ios,objective-c,afnetworking,Ios,Objective C,Afnetworking,我正在用AFN检查网络 __block BOOL connect; AFNetworkReachabilityManager*manager = [AFNetworkReachabilityManager sharedManager]; [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case -1:
__block BOOL connect;
AFNetworkReachabilityManager*manager = [AFNetworkReachabilityManager sharedManager];
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case -1:
connect=YES;
break;
case 0:
connect=NO;
break;
case 1:
connect=YES;
break;
case 2:
connect=YES;
break;
default:
break;
}
}];
[manager startMonitoring];
我想在另一个文件上获得布尔连接
if (![ValueUtils isConnectNet])
但是它没有马上得到bool我怎么能先得到bool然后再做“如果其他”的事情呢
现在我使用可达性,如果您在启动监控后立即使用AFN的isReachable,它无法立即获取当前网络状态。您只需如下检查:
if ([[AFNetworkReachabilityManager sharedManager] isReachable])
{
NSLog(@"IS REACHABILE");
}
else
{
NSLog(@"NOT REACHABLE");
}
没必要为了这个拿布尔。网络可达性管理器给出网络是否可达的响应。您只需如下检查:
if ([[AFNetworkReachabilityManager sharedManager] isReachable])
{
NSLog(@"IS REACHABILE");
}
else
{
NSLog(@"NOT REACHABLE");
}
没必要为了这个拿布尔。网络可达性管理器给出网络是否可达的响应。您可以通过以下方式检查可达性:
AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];
[reachability setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"WWN");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WiFi");
break;
case AFNetworkReachabilityStatusUnknown:
NSLog(@"Unknown");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"Not Reachable");
break;
default:
break;
}
}];
或者您可以使用:
+(BOOL)IsInternet
{
Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
if (networkStatus == NotReachable)
{
return NO;
}
else
{
return YES;
}
}
您可以通过以下方式检查可达性:
AFNetworkReachabilityManager *reachability = [AFNetworkReachabilityManager sharedManager];
[reachability setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
switch (status) {
case AFNetworkReachabilityStatusReachableViaWWAN:
NSLog(@"WWN");
break;
case AFNetworkReachabilityStatusReachableViaWiFi:
NSLog(@"WiFi");
break;
case AFNetworkReachabilityStatusUnknown:
NSLog(@"Unknown");
break;
case AFNetworkReachabilityStatusNotReachable:
NSLog(@"Not Reachable");
break;
default:
break;
}
}];
或者您可以使用:
+(BOOL)IsInternet
{
Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
if (networkStatus == NotReachable)
{
return NO;
}
else
{
return YES;
}
}
看这一个可能有助于你使用可达性类,它们非常适合我现在使用可达性,如果你在开始监视后立即使用AFN的isRecable,它无法立即获得当前网络状态。看这一个可能有助于你使用可达性类,它们非常适合我现在使用可达性,如果您在启动监控后立即使用AFN的isRecable,则无法立即获取当前网络状态。如果您发现此答案有帮助,请接受。这就是我们的动机。始终显示无法访问,请检查此项。如果您发现此答案有帮助,请接受它。这就是我们的动机。总是显示不可访问,检查第一个是AFN,第二个是可访问。他们我已经尝试了这些代码中的大多数,但当我连接到没有可用互联网的wifi时,我仍然在线获得结果。我可以检查一下网络是否可用吗?我知道可达性类在那个里,但我正试图探索更多的网络。如果没有可达性,我还能做ping测试吗?第一个是AFN,第二个是可达性。他们中的大多数代码我都试过,但当我连接到没有互联网可用的wifi时,我仍然在线获得结果。我可以检查一下网络是否可用吗?我知道可达性类在那个里,但我正试图探索更多的网络。在没有可达性的情况下,我还能做ping测试吗?