如何在iOS7中以编程方式找到iPhone设备连接的3G网络或Wifi

时间:2014-04-22 12:29:39

标签: ios objective-c ios7 wifi 3g-network

您好我需要了解iPhone互联网是连接3G还是2G或WIFI网络 任何建议

谢谢

Sravan

3 个答案:

答案 0 :(得分:8)

从此链接下载适用于iOS的可访问性类: - https://github.com/tonymillion/Reachability

1)在项目中添加Reachability.h& .m ,确保通过添加标志-fno-objc-arc

2)现在,检查视图控制器中的连接类型

  Reachability *reachability = [Reachability reachabilityForInternetConnection];
    [reachability startNotifier];

    NetworkStatus status = [reachability currentReachabilityStatus];

    if(status == NotReachable) 
    {
        //No internet
    }
    else if (status == ReachableViaWiFi)
    {
        //WiFi
    }
    else if (status == ReachableViaWWAN) 
    {
        //3G
    }

答案 1 :(得分:2)

您可以使用Reachability library written by tonymillion。 如果您不想使用ARC,还有Apple Reachability库。

答案 2 :(得分:1)

另请查看< CoreTelephony / CTTelephonyNetworkInfo.h>

您将看到在CTTelephonyNetworkInfo上公开了currentRadioAccessTechnology属性。

CTTelephonyNetworkInfo *netInfo = [[CTTelephonyNetworkInfo alloc] init];
NSLog(@"Radio access technology:\n%@",
       netInfo.currentRadioAccessTechnology);

您可以通过以下方式订阅更改:

[NSNotificationCenter.defaultCenter
    addObserverForName:CTRadioAccessTechnologyDidChangeNotification
                object:nil
                 queue:nil
            usingBlock:^(NSNotification __unused *notification) {
                CTTelephonyNetworkInfo *current =
                    [[CTTelephonyNetworkInfo alloc] init];
                NSLog(@"Updated Radio access technology:\n%@",
                       current.currentRadioAccessTechnology);
            }];