请原谅我的问题中的点符号。
我正在使用NSURLSession尝试登录网站。 Apple的文档建议以这种方式处理身份验证挑战。
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler
{
NSURLCredential *credential = [NSURLCredential credentialWithUser:@"<email>"
password:@"<password>"
persistence:NSURLCredentialPersistenceNone];
[[challenge sender] useCredential:credential
forAuthenticationChallenge:challenge];
}
问题是[挑战发送者]返回nil。我错过了设置中的某些内容吗?
最佳答案
不知道是否可以解决这个问题,但是您应该调用完成处理程序代替旧的useCredential方法:
completionHandler(NSURLSessionAuthChallengeUseCredential, credential);