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

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

问题

如题。


答案

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

cannyboy,252 票

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

//Class.h
#import "Reachability.h"
#import <SystemConfiguration/SystemConfiguration.h>

- (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 问题

译者:@戴仓薯

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容