iOS 网络与多线程--1.检测网络链接状态

通过Reachability库,检测设备的网络连接状况。

使用到的类库:Reachability

Reachability库,是一个iOS环境下,检测设备网络状态的库,可以在网络上搜索下载。

使用之前导入到工程内。

之后在视图控制器文件(ViewController.m)内添加以下代码

导入网络状态库  #import "Reachability.h"

 1 // 用于检测网络是否存在函数
 2 -(BOOL)isExistenceNetwork
 3 {
 4     BOOL isExistenceNetwork;
 5
 6     // 测试网络是否可以连接苹果官网。对于使用IAP的朋友,可以用它来检测是否可以连接itunes。
 7     Reachability *r = [Reachability reachabilityWithHostname:@"http://www.apple.com"];
 8     // 对网络的连接进行遍历
 9     switch ([r currentReachabilityStatus]) {
10         case NotReachable:      // 表示网络不可用的状态。
11             isExistenceNetwork = FALSE;
12             break;
13         case ReachableViaWWAN:  // 表示网络通过 2G/3G/4G链接。
14             isExistenceNetwork = TRUE;
15             break;
16         case ReachableViaWiFi:  // 表示当前网络通过Wi-Fi链接。
17             isExistenceNetwork = TRUE;
18             break;
19     }
20
21     return isExistenceNetwork;
22 }

然后在viewDidLoad函数内添加测试代码:

1     BOOL canConnectNetWork = [self isExistenceNetwork];
2
3     NSLog(@"Can connect network? -------- %d",canConnectNetWork);

以上就是我们想要的功能!

时间: 2024-09-27 04:29:42

iOS 网络与多线程--1.检测网络链接状态的相关文章

UWP 检测网络状态

最近发现Community Toolkit有了网络辅助类,貌似很早就有了... 很不错,还是用.给大家分享一下. 1. 检测网络是否可用 2. 检测网络是否是计费模式? 3. 检测网络接入类型 4. 信号强度 5. 网络名称 至于代码嘛,就很简单啦 IsInternetAvailableText.Text = NetworkHelper.Instance.ConnectionInformation.IsInternetAvailable ? "Yes" : "No"

[iOS 多线程 & 网络 - 2.8] - 检测网络状态

A.说明 在网络应用中,需要对用户设备的网络状态进行实时监控,有两个目的:(1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能)(2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态https://developer.apple.com/library/ios/samplecode/Reachability

IOS网络——检测网络状态:Reachability

1.iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用.大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作. 2.在你的应用尝试通过网络获取数据之前,你需要知道当前设备是否知道连接上了网络,甚至有时候你可能还需要知道当前网路是由wifi还是由移动蜂窝网络提供的. 3.“在网络访问失败的时候,应用没有做出适当的提示”是苹果的iOS审核团队拒绝一个应用的常见理由.苹果要求你必须先检测网络连接状态,当网络不可用的时候以某种方式告知用户

iOS中使用 Reachability 检测网络

iOS中使用 Reachability 检测网络 内容提示:下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测.   写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下... 如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder)

iOS开发网络篇—多线程断点下载

iOS开发网络篇—多线程断点下载 说明:本文介绍多线程断点下载.项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件.因为实现过程较为复杂,所以下面贴出完整的代码. 实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分). 项目中用到的主要类如下: 完成的实现代码如下: 主控制器中的代码: 1 #import "YYViewControl

iOS使用Reachability实时检测网络连接状况

//在程序的启动处,开启通知 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //..... //开启网络状况的监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name: kR

检测android的网络链接状态

http://www.oschina.net/question/100267_61129?sort=default&p=1#tags_nav http://www.cnblogs.com/top5/archive/2011/12/29/2306241.html http://www.open-open.com/lib/view/open1342353575260.html http://blog.csdn.net/ithomer/article/details/7896313 检测android

iOS中使用 Reachability 检测网络区分手机网络类型 WiFi 和2 3 4 G

如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote).那么你会使用到Reachability来实现网络检测. 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库. 监视目标网络是否可

IOS检测网络连接状态(转)

IOS检测网络连接状态(转) 使用之前请从Apple网站下载示例:点此下载 然后将Reachability.h 和 Reachability.m 加到自己的项目中,并引用 SystemConfiguration.framework,就可以使用了. Reachability 中定义了3种网络状态: // the network state of the device for Reachability 1.5. typedef enum { NotReachable = 0, //无连接 Reach