1

我们使用NSURLSessionDataDelegate并实现了以下委托方法:

- (void) URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler { ... }

我们经常发现 iCloud 用户会遇到NSURLAuthenticationMethodXMobileMeAuthToken挑战。发回拒绝不起作用(因为服务器不会尝试另一个挑战)并发回接受

completionHandler(NSURLSessionAuthChallengeUseCredential, credential);

也不行。

我们应该如何处理这种身份验证质询类型?有其他人看过吗?

4

1 回答 1

1

对于您未明确处理的任何保护空间,或您不理解的任何凭证类型,您通常应该使用NSURLSessionAuthChallengePerformDefaultHandling(凭证被忽略,但通常 pass nil) 告诉操作系统处理凭证,就好像您没有'不提供身份验证委托方法。

于 2018-12-02T05:15:18.257 回答