我正在使用GCDWebServer,并通过运行以下命令启动它:
webServer!.start(withPort: 8080, bonjourName: "Test")当从[INFO]查看GCDWebServer日志时,我可以在两个不同的地方看到两条消息:
另一个URL使用的是设备名,而不是我在上面代码中配置的bonjourName,但这并不是什么大不了的事。
更重要的是,在实现了GCDWebServerDelegate的webServerDidStart之后,从那里打印serverURL仍然显示了IP。
我还可以看到,在日志中完成GCDWebServer消息的Bonjour注册之前,将调用GCDWebServer。
我怎样才能得到人类可读的网址?
发布于 2017-07-26 12:02:02
要使用的属性是bonjourServerURL。serverURL始终是IP地址,一旦调用webServerDidCompleteBonjourRegistration委托方法,bonjourServerURL将保存该值。我不知道为什么Bonjour中的主机名与bonjourName参数值不匹配。
发布于 2021-01-23 13:04:43
这都是关于新的本地网络隐私设置。通过在info.plist中添加以下内容,解决了Bonjour的问题:
<key>NSLocalNetworkUsageDescription</key>
<string>My app uses local network</string>
<key>NSBonjourServices</key>
<array>
<string>_http._tcp</string>
</array>https://stackoverflow.com/questions/45129505
复制相似问题