Ios 从GCDWebServer获取“你好”URL
我正在使用GCDWebServer并通过运行以下命令启动它:Ios 从GCDWebServer获取“你好”URL,ios,swift,swift3,gcdwebserver,Ios,Swift,Swift3,Gcdwebserver,我正在使用GCDWebServer并通过运行以下命令启动它: webServer!.start(withPort: 8080, bonjourName: "Test") 从GCDWebServer查看[INFO]日志时,我可以在两个不同的位置看到两条消息: GCDWebServer在端口8080上启动,可在http://{deviceIp}:8080访问/ GCDWebServer现在可以在http://{deviceName}本地访问。本地:8080 另一个URL使用的是设备名,而不是我
webServer!.start(withPort: 8080, bonjourName: "Test")
从GCDWebServer查看[INFO]
日志时,我可以在两个不同的位置看到两条消息:
- GCDWebServer在端口8080上启动,可在http://{deviceIp}:8080访问/
- GCDWebServer现在可以在http://{deviceName}本地访问。本地:8080
bonjourName
,这一事实让我很困惑,但这并不是什么大问题
更重要的是,在实现了GCDWebServerDelegate
的webServerDidStart
之后,从那里打印serverURL
仍然会显示IP URL
我还可以看到,webServerDidStart
在日志中获得GCDWebServer消息的Bonjour注册完成之前被调用
如何获取人类可读的URL?要使用的属性是
bonjourServerURL
serverURL
始终是IP地址,一旦调用了WebServerDidCompleteBonJournRegistration
delegate方法,bonjourServerURL
保存该值。我不知道为什么Bonjour URL中的主机名与参数值不匹配。这都是关于新的本地网络隐私设置。通过在info.plist中添加以下内容,解决了Bonjour的问题:
<key>NSLocalNetworkUsageDescription</key>
<string>My app uses local network</string>
<key>NSBonjourServices</key>
<array>
<string>_http._tcp</string>
</array>
NSLocalNetworkUsageDescription
我的应用程序使用本地网络
NSBonjourServices
_http.\u tcp
iOS 14.x上未调用WebServerDidCompleteBonJournRegistration