Проблема статического веб-сайта GCDWebServer

Я использую GCDWebServercocopod и пытаюсь запустить статический код:

GCDWebServer* webServer = [[GCDWebServer alloc] init];
[webServer addGETHandlerForBasePath:@"/" directoryPath:NSHomeDirectory() indexFilename:nil cacheAge:3600 allowRangeRequests:YES];
[webServer runWithPort:8080];

GCDWebServer не удалось найти runWithPort метод.

введите здесь описание изображения


person Abhishek Nalwaya    schedule 05.05.2015    source источник
comment
Попробуйте следовать примеру, указанному в официальном репозитории: github.com/swisspol/GCDWebServer.   -  person gabriel    schedule 05.05.2015
comment
вы уверены, что это метод runWithPort:, потому что у меня открыта ссылка на класс, но Я не могу найти метод.   -  person Vivek Molkar    schedule 05.05.2015
comment
Да, тот же пример кода указан здесь - github.com/swisspol/GCDWebServer#serving -a-статический-веб-сайт   -  person Abhishek Nalwaya    schedule 05.05.2015


Ответы (3)


Вы пытаетесь использовать старую сигнатуру метода, которая также неправильно используется в примере и нуждается в обновлении. Новый:

- (BOOL)runWithPort:(NSUInteger)port bonjourName:(NSString*)name;

Передайте nil для bonjourName, чтобы оно вело себя как сигнатура старого метода.

person dbainbridge    schedule 02.06.2015

runWithPort:: не существует. Это startWithPort::.

В документации используются оба, но работает только startWithPort.

person Johan Nordberg    schedule 27.11.2015

Вам нужно будет использовать метод startWithPort и рассмотреть возможность передачи полного пути к вашему каталогу в directoryPath, пожалуйста, взгляните на мой пример кода ниже:

private func loadDefaultIndexFile() {
    let mainBundle = NSBundle.mainBundle()
    let folderPath = mainBundle.pathForResource("www", ofType: nil)
    print("HTML base folder Path: \(folderPath)")
    self.gcdWebServer.addGETHandlerForBasePath("/", directoryPath: folderPath, indexFilename: "index.html", cacheAge: 0, allowRangeRequests: true)
    self.gcdWebServer.startWithPort(8080, bonjourName: nil)
    self.webView.loadRequest(NSURLRequest(URL: self.gcdWebServer.serverURL))
}

Надеюсь, поможет

person Jack Vo    schedule 31.01.2016