使用iOS 7 SDK监控可用的WiFi SSID /蜂窝网络?

时间:2014-05-23 13:36:00

标签: ios7 sdk ios7.1

是否有人知道是否有任何可供监控的API:
- WIFI连接/强度(很高兴)
- 蜂窝网络
在iOS 7 / 7+ SDK中可用吗?

非常感谢。

[编辑]

我曾尝试使用Reachability,但据我所知,它只让我知道我是否连接到WIFI网络,但不知道哪个WIFI可用。

我使用下面的代码,但我不能再使用iOS7了:

NSArray *ifs = (id)CNCopySupportedInterfaces();
    NSLog(@"%s: Supported interfaces: %@", __func__, ifs);
    id info = nil;
    for (NSString *ifnam in ifs) {
        info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
        NSLog(@"%s: %@ => %@", __func__, ifnam, info);
        if (info && [info count]) {
            break;
        }
        [info release];
    }
    [ifs release];
    return [info autorelease];

1 个答案:

答案 0 :(得分:1)

请参阅referece

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
}

在设备上尝试此更新:

#import <SystemConfiguration/CaptiveNetwork.h>

+ (NSString *)currentWifiSSID {
// Does not work on the simulator.
NSString *ssid = nil;
NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
for (NSString *ifnam in ifs) {
    NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
    if (info[@"SSID"]) {
        ssid = info[@"SSID"];
    }
}
return ssid;
}