Get WIFI SSID and BSSID

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

How to get Wifi SSID in iOS9 after CaptiveNetwork is depracted and calls for Wifi name are already blocked

你可能感兴趣的:(Get WIFI SSID and BSSID)