在 iPhone 上,是不是可以找出我们连接的 WIFI 网络?

Posted

技术标签:

【中文标题】在 iPhone 上,是不是可以找出我们连接的 WIFI 网络?【英文标题】:On the iPhone, is it possible to find out which WIFI network we are connected to?在 iPhone 上,是否可以找出我们连接的 WIFI 网络? 【发布时间】:2011-02-07 21:19:47 【问题描述】:

如果是,我们是否还可以获取有关网络配置的其他信息?

一种有用的方法是获取当前网络的 SSID。是否有 API 可以做到这一点?

更新:我在这里发现了一个类似的问题:

Can the iPhone SDK obtain the Wi-Fi SSID currently connected to?

【问题讨论】:

可能重复:***.com/questions/1625158/… 不,不是重复的。提问者想知道他连接到哪个 WiFi 网络,而不是是否连接到一个,或者他是否仅通过移动设备连接(或根本不连接)。 直到几周前,应用商店里还有一个名为 WifiTrak (bitrino.com/wifitrak/support.html) 的应用程序,它显示了范围内所有可用 wi-fi 热点的列表。然而,它已从应用商店中撤下,因此即使看起来这是可能的,但无论出于何种原因,它都可能不被 Apple 接受。 ***.com/questions/339089/…的可能重复 【参考方案1】:

试试下面的方法:

#import <SystemConfiguration/CaptiveNetwork.h>

NSString *wifiName = @"Not Found";
CFArrayRef myArray = CNCopySupportedInterfaces();

if (myArray != nil) 

    CFDictionaryRef myDict = CNCopyCurrentNetworkInfo(CFArrayGetValueAtIndex(myArray, 0));

    if (myDict != nil) 
        NSDictionary *dict = (NSDictionary*)CFBridgingRelease(myDict);

        wifiName = [dict valueForKey:@"SSID"];

      


NSLog(@"wifiName:%@", wifiName);

【讨论】:

【参考方案2】:

(保存历史等的单独答案)

您似乎无法确定您所连接的 WLAN 的 SSID,至少在将进入 App Store 的应用程序中是这样。 These people 使用私有 API - Preferences.framework - 来获取 WLAN 的详细信息(例如“它是否隐藏?”“名字是什么?”等)。

【讨论】:

【参考方案3】:

无法评论,但这可能是重复的:

Accessing iPhone WiFi Information via SDK

答案似乎是否定的。我对此进行了自己的研究,但无法找到获得 SSID 的受支持方式。

【讨论】:

【参考方案4】:

您看过Reachability 示例应用程序吗?

编辑:Reachability 应用演示了如何使用 SystemConfiguration 框架来显示您的手机是否已连接到互联网,如果是,如何连接。

它进一步允许您区分本地 WiFi 连接和非本地 WiFi 连接 (+[Reachability reachabilityForLocalWiFi])。

关于问题的实质,您必须查阅手机的 ARP 表。 This answer 向您展示了如何做到这一点。

【讨论】:

也许你可以澄清你的答案。你是在说“是的,你可以,这里有一些示例代码的链接”,或者你是在说“不,你不能;但是这里有一个关于你可以做的其他事情的想法”。或者您是在说“我也不知道,但请看这里”,作为评论确实会更好,因为它没有回答问题。 可达性示例仅演示了检测我们是否连接到网络。它没有显示我们如何获得当前网络的标识。 网络标识是什么意思?您是指 WLAN 的 SSID? 好吧,当我问这个问题时,我不确定我想要什么。但经过一番思考,是的,SSID。

以上是关于在 iPhone 上,是不是可以找出我们连接的 WIFI 网络?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone怎么查看是不是连接过的wifi?

在 iPhone 上:找出当前正在播放的歌曲? (在 iPod 音乐播放器中)[重复]

我们如何知道我们的应用程序是不是从 iPhone 上卸载? [关闭]

使用 Objective-C 在 iPhone 上禁用 WIFI

iPhone7蓝牙搜不到设备怎么办?iPhone7蓝牙连不上怎么办

iPhone 是不是支持通过基座连接器输入音频