Because of CNCopySupportedInterfaces() methods are depracted now
But they still worked at the beginning
So i will give two ways to slove this problem in different system version
1 import NetworkExtension 2 import SystemConfiguration.CaptiveNetwork 3 4 static func getWIFIInformation() -> [String:String]{ 5 var informationDictionary = [String:String]() 6 if #available(iOS 9.0, *) { 7 let information = NEHotspotHelper.supportedNetworkInterfaces() 8 informationDictionary["SSID"] = information[0].SSID! 9 informationDictionary["BSSID"] = information[0].BSSID! 10 return informationDictionary 11 12 } else { 13 // Fallback on earlier versions 14 let informationArray:NSArray? = CNCopySupportedInterfaces() 15 if let information = informationArray { 16 let dict:NSDictionary? = CNCopyCurrentNetworkInfo(information[0] as! CFStringRef) 17 if let temp = dict { 18 informationDictionary["SSID"] = String(temp["SSID"]!) 19 informationDictionary["BSSID"] = String(temp["BSSID"]!) 20 return informationDictionary 21 } 22 } 23 } 24 return informationDictionary 25 }
Result:
Environment:
Xcode7.0 ,Swift 2.1,iPhone 7.1.4
Reference:
iPhone get SSID without private library
时间: 2024-10-20 17:46:53