2017-06-28 51 views
0

我的目标是使用CoreWLAN重新排列无线网络列表。CoreWLAN:'CWInterface'没有成员'commitConfiguration'

当我编译下面的代码片段,我得到以下错误:wifi.swift:21:6: error: value of type 'CWInterface' has no member 'commitConfiguration'

但根据https://developer.apple.com/documentation/corewlan/cwinterface/1426430-commitconfiguration它应该工作。我究竟做错了什么?

请注意,我用TextMate的这一个和编译使用swiftc -o wifi wifi.swift

import Foundation 
import CoreWLAN 

let config = CWWiFiClient.shared().interface()?.configuration() 
let mutableConfig = CWMutableConfiguration(configuration: config!) 

let networkProfiles = mutableConfig.networkProfiles 
let mutable = networkProfiles.mutableCopy() as! NSMutableOrderedSet 

let indexSet = IndexSet(integer: 0) 
mutable.moveObjects(at: indexSet, to: 2) 
debugPrint(mutable) 
mutableConfig.networkProfiles = mutable 


let finalConfig = CWConfiguration(configuration: mutableConfig) 
dump(finalConfig) 
do { 
    let interface = CWWiFiClient.shared().interface()! 
    try interface.setPower(true) 
    try interface.commitConfiguration(finalConfig, authorization: nil) 
} catch {} 

回答

0

找到了!

必须import SecurityFoundation

更好的例子代码来重现问题:

import Foundation 
import CoreWLAN 
let configuration = CWWiFiClient.shared().interface()?.configuration() 
let profiles = CWWiFiClient.shared().interface()?.commitConfiguration(configuration, authorization: nil) 

请DUP雷达33029361如果需要的话。