Как удалить опубликованный сервис NetService - PullRequest
0 голосов
/ 18 марта 2020

Я использую последнюю документацию Swift для написания NetService, который может публиковать sh и выполнять поиск. Но я не могу удалить сервис от издателя. Не в состоянии понять роль RunL oop здесь. Однако, если я убиваю приложение, служба удаляется.

Этот код используется для публикации sh службы.

class ServicePublisher : NSObject {
    var nsNetService : NetService!
    init?(domain : String, type : String, name : String, port : Int32){
        nsNetService = NetService(domain: domain, type: type, name: name, port: port)
        if nsNetService == nil{
            return nil
        }
    }
    func publish() {
        nsNetService.publish(options:NetService.Options.listenForConnections)
    }
    func setDelegate(delegate : NetServiceDelegate) {
        nsNetService.delegate = delegate
    }
    func stop(){
        nsNetService.stop()
    }
}

1 Ответ

0 голосов
/ 18 марта 2020

nsNetService.stop () должен остановить службу и удалить ее с DNS SD. NetServiceBrowser также может обнаружить удаление службы. Моя ошибка заключалась в том, что я не связывал UIButton с функцией, которая должна была вызывать stop () api и, следовательно, без удаления службы.

...