在iPhone上检测2G和3G

时间:2013-11-05 14:54:23

标签: iphone ios7 nsurlconnection xcode5 nsurlrequest

我目前正在使用apple Reachability示例来检测可用连接,但我需要的是能够检测WWAN连接是2G还是3G。出于应用程序的目的,下载文件以确定信号速度不是解决方案,并且使用状态栏来读取连接也已被解除。

我目前正在使用MKNetworkKit处理我的请求。

感谢任何帮助 谢谢。

2 个答案:

答案 0 :(得分:2)

SCNetworkReachability界面可以帮助您。基本上,您创建一个所谓的可访问性引用,然后在其上调用SCNetworkReachabilityGetFlags以获取有关连接的信息。

返回的标志包括kSCNetworkReachabilityFlagsIsWWAN,它告诉您是通过WiFi还是通过手机网络连接。但AFAIK不能用来说明2G和3G之间的区别。

有关实施,请参阅Apple's Reachability sample app。在大多数情况下,您应该能够直接在项目中使用包含的Reachability类。

答案 1 :(得分:1)

您无法检测网络类型,可达性只能管理这些网络状态:

typedef enum
{
    // Apple NetworkStatus Compatible Names.
    NotReachable = 0,      // No connection
    ReachableViaWiFi = 2,  // Connecte on WIFI
    ReachableViaWWAN = 1   // Connected on 2G, 3G or 4G network.
} NetworkStatus;