我们正在使用NSURLSessionDataDelegate
,并实现了以下委托方法:
- (void) URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler { ... }
我们经常发现iCloud的用户收到NSURLAuthenticationMethodXMobileMeAuthToken
挑战。发回拒绝不起作用(因为服务器不会尝试其他挑战),并使用
completionHandler(NSURLSessionAuthChallengeUseCredential, credential);
也不起作用。
我们应该如何处理此身份验证质询类型?还有其他人看过吗?
答案 0 :(得分:0)
对于您没有显式处理的任何保护空间,或者对于您不了解的任何凭证类型,通常应使用NSURLSessionAuthChallengePerformDefaultHandling
(凭证将被忽略,但通常会通过nil
)告诉操作系统处理凭据,就好像您没有提供身份验证委托方法一样。