如何将GCDWebServerOption_AutomaticallySuspendInBackground设置为NO

时间:2016-06-29 13:29:10

标签: ios gcdwebserver

我是iOS的新手,并且在android方面有一些经验。我正在使用GCDWebUploader。它的工作正常。

当应用在后台时,服务器会暂停。我知道iOS后台执行中的限制。我不想改变这种行为。

但我在GCDWebServer文档中发现我们可以禁用此暂停。点击https://github.com/swisspol/GCDWebServer#gcdwebserver--background-mode-for-ios-apps。具体来说这部分

  

如果应用程序在没有打开HTTP连接的情况下进入后台,GCDWebServer将立即暂停并停止接受新连接,就好像您已调用-stop 一样(可以使用**** GCDWebServerOption_AutomaticallySuspendInBackground禁用此行为****选项)

如何设置此选项。我试过了

GCDWebServerOption_AutomaticallySuspendInBackground = "NO"

我得到了明显的错误:

  

无法分配值:   ' GCDWebServerOption_AutomaticallySuspendInBackground'是一个“让...”   恒定

1 个答案:

答案 0 :(得分:2)

您应该使用NSDictionary通过GCDWebServer实例中的以下方法传递配置选项:

- (BOOL)startWithOptions:(NSDictionary*)options error:(NSError**)error;

编辑:在Objective-C中使用 on-the-fly 字典的实际示例:

NSError*myError = nil;
self.webServer = [[GCDWebServer alloc] init];
BOOL success = [self.webServer startWithOptions:@{
               GCDWebServerOption_AutomaticallySuspendInBackground : @(NO)
               } error:&myError];

Swift代码

var myError: NSError?
let webServer = GCDWebServer()
webServer.startWithOptions([GCDWebServerOption_AutomaticallySuspendInBackground : false], error: myError)

小提示:如果您想更改GCDWebServer日志级别,可以使用静态方法:

[GCDWebServer setLogLevel:4];