我有一个Post对象应该可以使用Alamofire从服务器下载它的图像文件。
我真的希望能够使用XCTest对此进行测试,因此我将文件放在支持文件中并尝试使用
进行下载let urlString: String = "\(bundleResourcePath)\(mediaURL)"
let mediaPath : String = NSHomeDirectory() + "/Documents/postImages/\(id!).igo"
var error : NSErrorPointer = NSErrorPointer()
NSFileManager.defaultManager().createDirectoryAtPath(NSHomeDirectory()+"/Documents/postImages", withIntermediateDirectories: true, attributes: nil, error: error)
let url : NSURL = NSURL(string: urlString)!
NSFileManager.defaultManager().removeItemAtPath(mediaPath, error: nil)
Alamofire.download(.GET, url) { (temporaryURL, response) in
if let directoryURL = NSFileManager.defaultManager()
.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0]
as? NSURL {
let pathComponent = "postImages/\(self.id!).igo"
return directoryURL.URLByAppendingPathComponent(pathComponent)
}
return temporaryURL
}.response({ (request, response, data, error) -> Void in
if error != nil {
println(error!.localizedDescription)
}
self.image = UIImage(contentsOfFile: mediaPath)
NSNotificationCenter.defaultCenter().postNotificationName(PostImageDownloadedNotification, object: self)
})
但是我收到一条错误,指出“不支持的网址”。很公平,因为字符串是文件路径。所以我尝试let url = NSURL(fileURLwithpath:)
,但我得到的是运行时错误:
无法将'NSURLResponse'()类型的值转换为'NSHTTPURLResponse'()。
有没有人知道如何在没有服务器设置的情况下进行测试