我正在尝试使用AFNetworking在我的iOS应用中实现一种简单的文件下载方法。首先,我创建一个AFURLSessionManager
:
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
let manager = AFURLSessionManager(sessionConfiguration: configuration)
然后创建并触发下载任务:
let task = manager.downloadTaskWithRequest(request, progress: nil, destination: {
(targetPath: NSURL, response: NSURLResponse) -> NSURL in
// ...
return fullPathURL
}, completionHandler: {
(response: NSURLResponse, filePath: NSURL?, error: NSError?) in
// ...
})
task.resume()
当我运行该应用程序时,出现一条错误消息,告诉我我无权访问该URL:
NSLocalizedDescription=Request failed: unauthorized (401)
我尝试使用
setSessionDidReceiveAuthenticationChallengeBlock
,但从未调用该块。所以问题是:如何使用
AFURLSessionManager
传递基本的HTTP身份验证凭据? 最佳答案
我已修复它:您需要使用setTaskDidReceiveAuthenticationChallengeBlock
处理下载任务上的身份验证挑战。