Присоедините параметры к методу делегата NSURLSession - PullRequest
0 голосов
/ 20 марта 2020

Я хотел бы передать параметр в мой делегат для определения продолжения или проверки на наличие сертификата.

- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler
{
    NSLog(@"Parameter 1 %@", parameter);
}

NSURLSessionDataTask * dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        if ([data length]>0 && error == nil) {
            NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
            NSLog(@"%@", json);
            resolve(json);
        } else if ([data length]==0 && error ==nil) {
            NSError *error = [NSError errorWithDomain:@"xxxx" code:400 userInfo:@{@"Error reason": @"No data returned."}];
            reject(@"error", @"error description", error);
        } else if( error!=nil) {
            NSError *error = [NSError errorWithDomain:@"xxxx" code:400 userInfo:@{@"Error reason": @"Invalid request."}];
            reject(@"error", @"error description", error);
        }
    }];

    // Start The Task
    [dataTask resume];

Как передать параметр из моего URLSession в этот делегат. Я искал несколько часов и ничего не нашел в Интернете по этому поводу. Не удивительно. Большинство вещей из Obj- c, на которые я не нахожу хороших ссылок, примеров или прохождений. Все извлечено.

1 Ответ

0 голосов
/ 20 апреля 2020

Мое решение состояло в том, чтобы сохранить и получить сертификат, используя SecureKey, если он не существует, просто продолжите работу с задачей данных, и она обработала сообщение, авторизовано или нет.

В зависимости от того, требуется ли сертификат для целевого маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...