2013-06-28 5 views
0

Я пытаюсь запустить следующий код в IOS.непризнанная ошибка выбора для AFHTTPRequestOperation setAuthenticationAgainstProtectionSpaceBlock:

AFHTTPRequestOperation *requestOperation = [self.httpClient HTTPRequestOperationWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:self.url.text]] 
             success:^(AFHTTPRequestOperation *operation, id responseObject) { 
              NSLog(@"reply data = %@", [[NSString alloc] initWithData:operation.responseData encoding:NSUTF8StringEncoding]); 
             } 
             failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
              NSLog(@"%@", error); 
             }]; 
[requestOperation setAuthenticationAgainstProtectionSpaceBlock:^BOOL(NSURLConnection *connection, NSURLProtectionSpace *protectionSpace) { 
    return YES; 
}]; 

Затем я получаю сообщение об ошибке, как это:

- [AFHTTPRequestOperation setAuthenticationAgainstProtectionSpaceBlock]: непризнанные селектор направлен например 0x75a81f0

Насколько я могу видеть, блок, который я Передача m имеет правильный тип и параметры возврата. Что я здесь делаю неправильно?

+0

AFHTTPRequestOperation является подклассом AFURLConnectionOperation: «@interface AFHTTPRequestOperation: AFURLConnectionOperation» – user229487

+0

Это действительно правильно. Удаленный комментарий, чтобы избежать путаницы ... Strange – Alladinian

+0

Возможно, операция равна null, и вы не инициализировали ее правильно? –

ответ

5

AFURLRequestOperation условно компилируется с использованием определенных методов обратного вызова делегатов, в зависимости от того, определен или нет _AFNETWORKING_PIN_SSL_CERTIFICATES_.

Если это (это значение по умолчанию при установке с CocoaPods), то будет доступно setWillSendRequestForAuthenticationChallengeBlock:. В противном случае будут доступны setAuthenticationAgainstProtectionSpaceBlock: и setAuthenticationChallengeBlock:.

setWillSendRequestForAuthenticationChallengeBlock соответствует connection:willSendRequest:forAuthenticationChallenge:, что составляет the preferred delegate method to handle challenges.