Используя Visual Studio для Mac, я создал RESFUL API (разработанный из шаблона проекта API), который из коробки выводит очень простой файл JSON (т. Е. ["Value1", "value2"]) при следующемurl: https://localhost:5001/api/values.
Итак, пока я запускаю API в Visual Studio в фоновом режиме, я также запускаю XCode на том же компьютере;в этом я разрабатываю приложение, которое должно подключиться к URL-адресу API и вывести ожидаемый ответ JSON.
Проблема в том, что он постоянно завершается ошибкой из-за ошибки доверия: «Ошибка доверия SSL TIC ... Ошибка загрузки HTTP NSURLSession / NSURLConnection».
Из того, что я исследовал, я считаю, что мне нужно установить самоподписанный сертификат localhost на мой эмулятор XCode, чтобы приложение могло доверять URL-адресу.Как мне получить доступ к этому локальному сертификату?
Или это даже правильный путь?
Код, который генерирует ошибку доверия:
// Specify the base url...
static NSString *const API_URL = @"https://localhost:5001";
// Specify completed url ...
NSString *urlAppend = [NSString stringWithFormat:@"/api/values"];
NSString *urlStr = [[[NSString alloc] initWithString:API_URL]
stringByAppendingString:urlAppend];
// Specify the URL object that can return JSON, XML, etc....
NSURL *url = [[NSURL alloc] initWithString:urlStr];
// Create an NSURLSessionDataTask that does the GET request at the specified URL (using NSURLSession shared session)...
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithURL:url
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
// Handle response (output respnose to log window))...
NSLog(@"%@", [output initWithData:data encoding:(NSASCIIStringEncoding)] ? : @"no data");
}];
// Start task ....
[task resume];