My goal is to reorder the list of wireless networks with CoreWLAN.
When I compile the following snippet, I get the following error: wifi.swift:21:6: error: value of type 'CWInterface' has no member 'commitConfiguration'
But according to https://developer.apple.com/documentation/corewlan/cwinterface/1426430-commitconfiguration it should work. What am I doing wrong?
Note that I use TextMate for this one and compile using 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 {}
Found it!
you must
import SecurityFoundation
Better example code to reproduce issue:
please dup radar 33029361 if needed.