NSURLSessionDataTask не работает в macOS: «Сервер с указанным именем хоста не найден». - PullRequest
1 голос
/ 21 сентября 2019

Почему dataTaskWithURL работает на iOS, но не на macOS?

Сообщение об ошибке:

Ошибка клиента: сервер с указанным именем хоста не может бытьнайдено.

Моя процедура выглядит следующим образом:

- (void)loadHTML {
    NSString *urlString = @"https://morph.zone/modules/newbb_plus/viewtopic.php?topic_id=12630&forum=10";
    NSURL *url = [NSURL URLWithString:urlString];
    NSURLSessionDataTask *downloadTask = [[NSURLSession sharedSession] dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        if (error != nil) {
            NSLog(@"Client-Error:%@",error.localizedDescription);
        }
        else {
            NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
            if (httpResponse.statusCode < 200 || httpResponse.statusCode > 299) {
                NSLog(@"Server-Error:%ld",httpResponse.statusCode);
            }
            else {
                NSLog(@"Data downloaded");
            }
        }
    }];
    [downloadTask resume];
}

1 Ответ

1 голос
/ 22 сентября 2019

Для целей MacOS необходимо явно включить «Исходящие подключения (клиент)» на вкладке «Возможности»:

capabilities

Пока вы не сделаете этовсе исходящие соединения будут с ошибкой NSURLErrorCannotFindHost.

...