CoreWLAN: CWInterface не имеет члена commitConfiguration

Моя цель - изменить порядок списка беспроводных сетей с помощью CoreWLAN.

Когда я компилирую следующий фрагмент, я получаю следующую ошибку: 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 {}

1 ответ

Нашел это!

Вы должны import SecurityFoundation

Лучший пример кода для воспроизведения вопроса:

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

пожалуйста, сделайте копию радара 33029361, если это необходимо.

Другие вопросы по тегам