我正在尝试使用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处理下载任务上的身份验证挑战。

08-16 21:04