本文介绍了在Swift 2中获取SSID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图使用此代码获取SSID
Im trying to use this code to get SSID
import Foundation
import SystemConfiguration.CaptiveNetwork
public class SSID {
class func getSSID() -> String{
var currentSSID = ""
let interfaces = CNCopySupportedInterfaces()
if interfaces != nil {
let interfacesArray = interfaces.takeRetainedValue() as [String : AnyObject]
if interfacesArray.count > 0 {
let interfaceName = interfacesArray[0] as String
let unsafeInterfaceData = CNCopyCurrentNetworkInfo(interfaceName)
if unsafeInterfaceData != nil {
let interfaceData = unsafeInterfaceData.takeRetainedValue() as Dictionary!
currentSSID = interfaceData[kCNNetworkInfoKeySSID] as! String
let ssiddata = NSString(data:interfaceData[kCNNetworkInfoKeySSIDData]! as! NSData, encoding:NSUTF8StringEncoding) as! String
// ssid data from hex
print(ssiddata)
}
}
}
return currentSSID
}
}
但是在此行中收到错误
let interfacesArray = interfaces.takeRetainedValue()as [String:AnyObject]
But in getting an error in this linelet interfacesArray = interfaces.takeRetainedValue() as [String : AnyObject]
错误是
'CFArray'类型的值没有成员'takeRetainedValue'
感谢您的帮助
推荐答案
这可以帮助你(在Swift 2上测试):
This may help you (tested on Swift 2):
import Foundation
import SystemConfiguration.CaptiveNetwork
public class SSID {
class func fetchSSIDInfo() -> String {
var currentSSID = ""
if let interfaces = CNCopySupportedInterfaces() {
for i in 0..<CFArrayGetCount(interfaces) {
let interfaceName: UnsafePointer<Void> = CFArrayGetValueAtIndex(interfaces, i)
let rec = unsafeBitCast(interfaceName, AnyObject.self)
let unsafeInterfaceData = CNCopyCurrentNetworkInfo("\(rec)")
if unsafeInterfaceData != nil {
let interfaceData = unsafeInterfaceData! as Dictionary!
currentSSID = interfaceData["SSID"] as! String
}
}
}
return currentSSID
}
}
我从Ray Wenderlich的网站上获取并修改了代码(曾经在这里:
但现在特定线程已从网站中删除了)
I took and adapted the code from Ray Wenderlich's site (once was here:Retrieve SSID in iOS9 but now the specific thread has been removed from site)
这篇关于在Swift 2中获取SSID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!