Get WIFI SSID and BSSID

Because of  CNCopySupportedInterfaces() methods are depracted nowios

But they still worked at the beginningiphone

So i will give two ways to slove this problem in different system versionthis

 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:spa

Environment:code

Xcode7.0 ,Swift 2.1,iPhone 7.1.4orm

Reference:blog

iPhone get SSID without private libraryip

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

相關文章
相關標籤/搜索