我正在使用最新的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()
}
}
nsNetService.stop()应该停止该服务,并将其从DNS SD中删除。 NetServiceBrowser也能够检测到服务的删除。我的错误是我没有将UIButton附加到应该调用stop()api的函数上,因此没有删除服务。