Как установить для GCDWebServerOption_AutoicallySuspendInBackground значение NO
Я новичок в iOS и Swift с некоторым опытом в Android. Я использую GCDWebUploader. Работает нормально.
Сервер приостанавливается, когда приложение находится в фоновом режиме. Я знаю об ограничениях в фоновом исполнении iOS. Я не хочу менять это поведение.
Но я нашел в документации GCDWebServer, что мы можем отключить эту приостановку. Проверьте здесь https://github.com/swisspol/GCDWebServer. Именно эта часть
Если приложение работает в фоновом режиме, а HTTP-соединения не открываются, GCDWebServer немедленно приостановит себя и перестанет принимать новые подключения, как если бы вы вызвали -stop (это поведение можно отключить с помощью параметра ****GCDWebServerOption_AutomaticsSuspendInBackground****),
Как вы установите эту опцию. Я старался
GCDWebServerOption_AutomaticallySuspendInBackground = "NO"
И я получаю очевидную ошибку:
Невозможно присвоить значению: 'GCDWebServerOption_AutomaticsSuspendInBackground' является константой 'let'
1 ответ
Вы должны передать параметры конфигурации, используя 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];
Свифт код
var myError: NSError?
let webServer = GCDWebServer()
webServer.startWithOptions([GCDWebServerOption_AutomaticallySuspendInBackground : false], error: myError)
Небольшой совет: если вы хотите изменить уровень журнала GCDWebServer, вы можете использовать статический метод:
[GCDWebServer setLogLevel:4];