【问题标题】:GCDWebservers background mode not working on deviceGCDWebservers 后台模式在设备上不起作用
【发布时间】:2017-02-22 00:39:31
【问题描述】:

我正在使用 GCDWebservers 来启动一个 http 服务。我希望它仍然接受后台模式的连接。这是我的源代码:

func startServer (){
    do {
        webServer?.stop()
        webServer?.removeAllHandlers()
            
        try self.webServer?.start(options: [GCDWebServerOption_BonjourName: "", GCDWebServerOption_BonjourType: IMS_DOMAIN, GCDWebServerOption_Port : IMS_SERVICE_PORT, GCDWebServerOption_AutomaticallySuspendInBackground: false])

    } catch {
        print("Start server error: ", error.localizedDescription)
    }
        
        
    print("bonjour type", self.webServer?.bonjourType)
}

它可以在模拟器上运行,但在真实设备上它不起作用。当 App 再次进入前台时会打印此消息:

dnssd_clientstub read_all(10) DEFUNCT

[错误] Bonjour 注册 错误 -72000(域 10)

请帮帮我。

【问题讨论】:

    标签: ios swift gcdwebserver


    【解决方案1】:

    当您的应用在后台运行时(最多前几分钟除外),您无法运行网络服务器。有关详细信息,请参阅 GCDWebServer README 文件中的“iOS 应用程序的 GCDWebServer 和后台模式”部分:

    通常,您必须在应用处于后台时停止所有网络服务器,并在应用返回前台时重新启动它们。

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 2019-05-10
      • 2020-01-09
      • 2014-06-18
      • 1970-01-01
      • 2020-02-05
      • 2015-12-17
      • 2019-10-09
      • 1970-01-01
      相关资源
      最近更新 更多