Im Versuch, diesen Code zu verwenden SSID zu erhaltenSSID in Swift 2
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
}
}
aber in einen Fehler in dieser Zeile immer let interfacesArray = interfaces.takeRetainedValue() as [String : AnyObject]
Der Fehler ist
Value of type 'CFArray?' has no member 'takeRetainedValue'
Danke für Ihre Hilfe
Mo Wahrscheinlich können Sie einfach die 'take (Un) RetainedValue()' Aufrufe entfernen, da die Funktion in Swift 2 keine unmanaged Objekte mehr zurückgibt. Siehe http://stackoverflow.com/questions/30740000/withunsafepointer-in-swift -2 für eine ähnliche Frage und Antwort. –
Ich löschte die .takeRetainedValue(), aber jetzt bekomme ich einen EXC_BREAKPOINT (EXC_ARM_BREAKPOINT, subcode = 0xe7ffdefe), wenn ich versuche, den Code zu testen –
Leider kann ich dir damit nicht helfen. Ich habe kein eigenes Netzwerk, um den Code zu testen. –