[爆栈热门 iOS 问题] 检测手机上网络通不通

系列文集:爆栈热门 iOS 问题。目录在此。仓薯翻译,欢迎指正:)

问题

如题。


答案

仓薯注:最高票答案(1008票)涉及尝试连一下 google 或者 apple,在国内肯定没戏/很慢,而且觉得并没有这个必要。排名第二的答案很简洁,而且亲测可用,所以只翻译第二个答案。

cannyboy,252 票

我比较喜欢简单直接的方法。我用的是:

//Class.h
#import "Reachability.h"
#import 

- (BOOL)connected;

//Class.m
- (BOOL)connected {
    Reachability *reachability = [Reachability reachabilityForInternetConnection];  
    NetworkStatus networkStatus = [reachability currentReachabilityStatus]; 
    return networkStatus != NotReachable;
}

在需要检查网络通不通的地方,用:

if (![self connected]) {
    // 网络不通
} else {
    // 网络通畅 
}

这个方法不会监听网络状态变化什么的,它就是在你需要查的时候去查一下。

原文地址:How to check for an active Internet Connection on iPhone SDK?

本文地址:http://www.jianshu.com/p/5cfcd0aa79d3

系列文集:爆栈热门 iOS 问题

译者:@戴仓薯

你可能感兴趣的:([爆栈热门 iOS 问题] 检测手机上网络通不通)