CoreWLAN CWEventDelegate EXC_BAD_ACCESS, когда вызывается функция события
Поэтому я использую CoreWLAN, и мне нужно было зарегистрировать некоторые события; Я начал, попробовав одно мероприятие, CWEventType.ssidDidChange
, Тогда у меня есть соответствующая функция в соответствии с Apple Docs для обработки func ssidDidChangeForWiFiInterface(withName interfaceName: String)
, Но когда происходит событие (я сбрасываю свой Wi-Fi для имитации изменения SSID), я получаю такую ошибку Thread 2: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
,
Страницы документации Apple, которые я использовал: https://developer.apple.com/documentation/corewlan/cwwificlient/1512439-startmonitoringevent https://developer.apple.com/documentation/corewlan/cweventtype https://developer.apple.com/documentation/corewlan/cweventdelegate https://developer.apple.com/documentation/corewlan/cweventdelegate/1512422-ssiddidchangeforwifiinterface
Это мой код:
import Foundation
import CoreWLAN
import Cocoa
class WLANMonitor: CWEventDelegate {
var client: CWWiFiClient = CWWiFiClient.shared();
init() {
self.client.delegate = self
}
func registerEvents() {
puts("Registering for SSID change...")
do {
try client.startMonitoringEvent(with: CWEventType.ssidDidChange);
} catch {
print("Error");
}
}
func ssidDidChangeForWiFiInterface(withName interfaceName: String)
{
print("Changed SSID")
}
}