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

标签 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) 您只能使用 CaptiveNetwork Framework 获取有关当前网络的详细信息,例如 SSID 或 BSSID你已经在你的例子中使用了。 Apple 不允许开发者在用户当前连接的网络之外寻找其他网络。

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

关于iphone - 在 iphone 中以编程方式列出所有 wifi SSID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718967/

相关文章:

iphone - 将 NSManagedObject 存储在字典中 (NSDictionary)

iphone - iPhone 中的 JSON Webservice 问题?

ios - 无法在新 iPhone 7 上部署 iOS 10 应用程序

ios - UITableView 不会在 reloadData 上重新加载

objective-c - NSTimer 的操作方法未被调用

iphone - Xcode - 同时构建多个目标

iphone - 获取 UIActionSheet 以执行操作

ios - UITextView setSelectedRange 更改可编辑属性

iphone - 重复 NSTimer、弱引用、拥有引用或 iVar?

iphone - 带有纹理的 quartz 绘图