是否有可能在没有使用私人图书馆的情况下获得iPhone上所有可用SSID的列表?iPhone没有私人图书馆获取所有SSID列表
我读iPhone get SSID without private library
https://stackoverflow.com/a/6341893/346255
,但似乎没有成为一个解决方案,使所有可用的网络列表中没有using a private library或连接到所有的人(是什么可笑...)
所以基本上我错过了什么或有没有解决方案?
是否有可能在没有使用私人图书馆的情况下获得iPhone上所有可用SSID的列表?iPhone没有私人图书馆获取所有SSID列表
我读iPhone get SSID without private library
https://stackoverflow.com/a/6341893/346255
,但似乎没有成为一个解决方案,使所有可用的网络列表中没有using a private library或连接到所有的人(是什么可笑...)
所以基本上我错过了什么或有没有解决方案?
如果没有使用私人图书馆(Apple80211
),您只能获取您的设备当前连接到的网络的SSID。
谢谢 - 我期待这个答案... – grubernd 2012-03-13 15:04:40
@grubernd:我希望我可以给你一个不同的:) – 2012-03-13 15:27:26
我们可以得到SSID,BSSID和SSID数据,而不使用私有API,但只使用SystemNetworkConfiguration.framework中的CaptiveNetwork类。 – 2013-12-30 11:41:40
步骤1:添加框架SystemConfiguration.framework
第2步:导入下面的头文件
import SystemConfiguration
import SystemConfiguration.CaptiveNetwork
第3步:现在使用代码:
func getUsedSSID()->String {
let interfaces = CNCopySupportedInterfaces()
if interfaces != nil {
let interfacesArray = CFBridgingRetain(interfaces) as! NSArray
if interfacesArray.count > 0 {
let interfaceName = interfacesArray[0] as! String
let unsafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName)! as Dictionary
let SSIDName = unsafeInterfaceData["SSID"] as! String
print(SSIDName)/* here print recentally used wifi name*/
return SSIDName
}else{
return "0"
}
}else{
return "0"
}
}
可以U型的客观C版请 – 2017-03-06 22:52:25
只得到连接SSID,我想获取所有远程SSID。你能帮我做同样的事吗? – 2017-06-13 09:24:49
首先导入上面两个系统头呃文件
import SystemConfiguration/SystemConfiguration.h
import SystemConfiguration/CaptiveNetwork.h
以下函数/方法返回SSIDName
-(NSString *)getNetworkId{
NSString *string = CFBridgingRelease(CNCopySupportedInterfaces());
NSArray *interfacesArray = CFBridgingRelease(CFBridgingRetain(string));
if(interfacesArray.count > 0){
NSString *networkName = [interfacesArray objectAtIndex:0];
CFStringRef yourFriendlyCFString = (__bridge CFStringRef)networkName;
NSDictionary *unsafeInterfaceData = CFBridgingRelease(CNCopyCurrentNetworkInfo(yourFriendlyCFString));
NSString *ssidName = unsafeInterfaceData[@"SSID"];
return ssidName;
}
return @"No network Found";
}
只得到连接SSID,我想获取所有远程SSID。 你能帮我做同样的事吗? – 2017-06-13 08:25:47
#import SystemConfiguration#
##import SystemConfiguration.CaptiveNetwork##
//create variable
var SSIDNameArray = NSMutableArray()
var nameArray : NSArray = [];
// Here function to return all SSIDName
func getUsedSSID()->NSArray{
let interfaces = CNCopySupportedInterfaces()
if interfaces != nil {
let interfacesArray = CFBridgingRetain(interfaces) as! NSArray
if interfacesArray.count > 0 {
for interfaceName in interfacesArray {
let unsafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName as! CFString)! as NSDictionary
let SSIDName = unsafeInterfaceData["SSID"] as! String
self.SSIDNameArray .add(SSIDName)
}
nameArray = self.SSIDNameArray .copy() as! NSArray
return nameArray;
}else{
return nameArray;
}
}else{
return nameArray;
}
}
由于iOS的9,你可以使用NEHotspotHelper获得的SSID列表。但是,你必须通过发送请求获得来自苹果com.apple.developer.networking.HotspotHelper
权利。
检查https://developer.apple.com/documentation/networkextension/nehotspothelper了解更多信息。
嘿,你是怎么做到的?你能分享示例代码吗? – Smita 2015-08-18 06:22:06