请原谅我的问题中的点符号。

我正在使用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);

10-07 23:52