5

我正在寻找一种从我的 IOS 应用程序扫描可用 Wi-Fi 接入点(热点)的方法。

我所需要的只是一个当前活跃的热点名称列表,设备可以连接到这些名称。就像 Safari 在我们启动或激活它时会显示一个 Wi-Fi 热点列表。

我想在 App Store 上发布应用程序,所以我不能使用任何类型的私有 API(对吗?)。不幸的是 CoreWLAN.framework 不适用于 IOS(对吗?)。

那么,是否有可能实现我的目标?我可以通过某种方式收集可用的接入点名称 (SSID) 吗?

4

1 回答 1

7

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

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

+ (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;
}
于 2014-11-19T20:33:01.557 回答