CoreWLAN或任何其他公共IOS 7 API

5
我正在寻找一种在我的IOS应用中扫描可用Wi-Fi访问点(热点)的方法。
我所需要的只是当前活动的热点名称列表,设备可以连接到这些热点。就像Safari在启动或激活时显示Wi-Fi热点列表一样。
我想发布该应用程序到App Store中,因此不能使用任何私有API(是吗?)。
不幸的是,CoreWLAN.framework在IOS上不可用(对吧?)。
那么,是否有可能实现我的目标?我能以某种方式收集可用的访问点名称(SSID)吗?
1个回答

7

目前没有公共API可以用来获取可用的Wi-Fi接入点列表。由于您计划在App Store上发布,私有API不是一个选项。

您可以实现的最接近的方法是获取当前连接的Wi-Fi名称和详细信息,这可以通过SystemConfiguration.framework中的CaptiveNetwork实现。

+ (NSString *)currentSSID
{
    NSString *ssid;

    NSArray *interfaces = (__bridge_transfer id)CNCopySupportedInterfaces();

    for (NSString *interfaceName in interfaces) {
        NSDictionary *informations = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)interfaceName);

        if (informations[@"SSID"]) {
            ssid = informations[@"SSID"];
        }
    }

    return ssid;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接