如果是,我们是否还可以获得有关网络配置的其他信息?
一种有用的方法是获取当前网络的 SSID。有没有 API 可以做到这一点?
更新:我在这里发现了一个类似的问题:
如果是,我们是否还可以获得有关网络配置的其他信息?
一种有用的方法是获取当前网络的 SSID。有没有 API 可以做到这一点?
更新:我在这里发现了一个类似的问题:
尝试以下方法:
#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);
(保存历史等的单独答案)
看起来您可能无法确定您连接到的 WLAN 的 SSID,至少在将进入 App Store 的应用程序中。这些人使用私有 API - Preferences.framework - 来获取 WLAN 的详细信息(例如“它是否隐藏?”“名字是什么?”等)。
您是否查看过Reachability示例应用程序?
编辑:Reachability 应用程序演示了使用 SystemConfiguration 框架来显示您的手机是否连接到互联网,如果是,如何连接。
它还允许您区分本地 WiFi 连接和非本地 WiFi 连接 (+[Reachability reachabilityForLocalWiFi])。
关于您问题的实质,您必须查阅手机的 ARP 表。这个答案向您展示了如何做到这一点。