在iphone中以编程方式列出所有wifi SSID

时间:2013-07-18 08:58:38

标签: iphone objective-c

1)。我想在iphone中以编程方式获取所有wi-fi SSID列表。

我尝试使用代码,但它只提供连接的SSID详细信息。

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];
}

2)。另一个问题是,当我的wi-fi关闭时,如果我来到wi-fi的范围内,我怎么能识别出来呢?当wi-fi关闭时,是否有可能确定我在wi-fi的范围内?

1 个答案:

答案 0 :(得分:1)

1)您只能使用您在示例中使用的CaptiveNetwork Framework获取有关当前网络的详细信息,例如SSID或BSSID。除了用户当前连接的网络之外,Apple不允许开发人员寻找其他网络。

2)根据Reachability页面,您可以使用该库检查用户当前是否通过3G或WiFi连接。当Wi-Fi设置为关闭时,您无法知道自己是否在范围内。