をSSIDを取得イムSSIDスウィフト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
}
}
を取得するには、このコードを使用しようとしている。しかし、この行でエラーを取得 let interfacesArray = interfaces.takeRetainedValue() as [String : AnyObject]
にエラーが
Value of type 'CFArray?' has no member 'takeRetainedValue'
ですあなたの助けをありがとう
Moおそらく、関数はSwift 2で管理されていないオブジェクトを返さないので、 'take(Un)RetainedValue()'呼び出しを削除するだけです。http://stackoverflow.com/questions/30740000/withunsafepointerinfo -2同様の質疑応答のために。 –
コードをテストしようとすると.takeRetainedValue()が削除されましたが、現在はEXC_BREAKPOINT(EXC_ARM_BREAKPOINT、サブコード= 0xe7ffdefe)を取得しています –
残念ながら、私はそれを手伝うことはできません。コードをテストするためのキャプティブネットワークはありません。 –