我是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'是一个'let'
  不变

最佳答案

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

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


编辑:Objective-C中带有实时词典的实际示例:

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];

关于ios - 如何将GCDWebServerOption_AutomaticallySuspendInBackground设置为NO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38101065/

10-10 23:26