Gostaria de criar uma classe utilitária que herda de NSObject (não necessariamente) e implementa StreamDelegate para a leitura e escrita dos Streams, porem a função stream nunca é chamada. Ja implementei o código da mesma maneira na minha UIView e rodou sem problemas. Gostaria de saber oq estou fazendo errado, creio que deveria herdar de outra classe ou chamar a RunLoop dentro de alguma thread especifica.
open class BluetoothCommunication: NSObject, StreamDelegate{
let device:EAAccessory
init(device:EAAccessory){
self.device = device
}
public func enableStream(){
print(device.name)
let session = EASession(accessory: device, forProtocol: device.protocolStrings[0])
outputStream = session.outputStream!
inputStream = session.inputStream!
outputStream?.delegate = self
inputStream?.delegate = self
inputStream?.schedule(in: .main, forMode: .commonModes)
outputStream?.schedule(in: .main, forMode: .commonModes)
inputStream?.open()
outputStream?.open()
}
public func stream(_ aStream: Stream, handle eventCode: Stream.Event){
print("stream called")
}
}