如何删除已发布的服务NetService

问题描述 投票:0回答:1

我正在使用最新的Swift文档编写NetService,它能够发布和搜索。但是我无法从发布商删除服务。在这里无法了解RunLoop的角色。但是,如果我杀死了该应用程序,则该服务将被删除。

这是用于发布服务的代码。

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()
    }
}
ios swift bonjour nsnetservice
1个回答
0
投票

nsNetService.stop()应该停止该服务,并将其从DNS SD中删除。 NetServiceBrowser也能够检测到服务的删除。我的错误是我没有将UIButton附加到应该调用stop()api的函数上,因此没有删除服务。

© www.soinside.com 2019 - 2024. All rights reserved.