2017-06-28 50 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如果需要的話。