CoreWLAN 或任何其他适用于 IOS 7 的公共 API

Posted

技术标签:

【中文标题】CoreWLAN 或任何其他适用于 IOS 7 的公共 API【英文标题】:CoreWLAN or any other public API for IOS 7 【发布时间】:2013-11-22 06:16:41 【问题描述】:

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

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

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

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

【问题讨论】:

【参考方案1】:

目前没有可用于获取可用 Wi-Fi 接入点列表的公共 API。由于您计划在 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;

【讨论】:

以上是关于CoreWLAN 或任何其他适用于 IOS 7 的公共 API的主要内容,如果未能解决你的问题,请参考以下文章

iPhone iso的Tesseract限制?适用于 ios 的任何其他 OCR 引擎

适用于iOS的RestKit或ASIHTTPRequest的替代品

Materialise Sidenav 不适用于 iOS 或 iPhone,但适用于所有其他设备

iOS 7.1 - 7.1.2 用户无法打开我的游戏

适用于 Android 和 IOS 的 HighChart 库 [关闭]

iOS 7 解析地理定位