GCDWebservers后台模式无法在设备上运行

时间:2016-10-13 03:12:43

标签: ios swift gcdwebserver

我正在使用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)

请帮帮我。

1 个答案:

答案 0 :(得分:2)

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

  

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