我正在爲OS X編寫一個簡單的Twitter應用程序,目前我一直在下載用戶的配置文件圖像。這是負責下載圖像的代碼:NSURLSessionDataTask在簡單的HTTPS URL上失敗,錯誤-1002
let imageRequest: NSURLRequest = NSURLRequest(URL: NSURL(string: avatarURL)!)
let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
let dataTask = session.dataTaskWithRequest(imageRequest) {
(data, response, error) in
println(error)
if data != nil {
println("Got image")
let image = NSImage(data: data!)
completion(image)
} else {
println("Data is nil")
completion(nil)
}
}
dataTask!.resume()
avatarURL
是包含這樣的字符串:https://pbs.twimg.com/profile_images/618168482086129664/C0E92y7G.png,這是網址,我的Twitter頭像。正如你所看到的,這是一個完全有效的URL,可以導致一個完美有效的圖像。
但每當我跑我的應用程序中,println(error)
行打印到這一點我的控制檯:
可選(錯誤域= NSURLErrorDomain代碼= -1002「的操作無法完成(NSURLErrorDomain錯誤-1002 。)」的UserInfo = 0x61000006ea80 {NSErrorFailingURLStringKey =可選(https://pbs.twimg.com/profile_images/618168482086129664/C0E92y7G.png),NSUnderlyingError = 0x600000243720 「該操作不能完成。(kCFErrorDomainCFNetwork錯誤-1002。)」,NSErrorFailingURLKey =可選(https://pbs.twimg.com/profile_images/618168482086129664/C0E92y7G.png)})
上午我做錯了什麼?我已經搜索了這個(幾乎所有的詞),幾乎我找到的每一個SO頁面都有一個解決方案,基本上等於「您的URL缺少URL方案/具有不支持的URL方案」,這不是問題我有。
嗯,這段代碼對我來說工作得很好(除了對'println'的好奇引用,它不再在Swift 2中使用)。你可能想仔細檢查你的URL,確保沒有任何空格或怪異的,不可見的字符。 – Rob
奇怪。我只是手動輸入網址以確保我沒有複製任何隱形字符,仍然沒有。另外,'println'是我寫的一個包裝函數,它只是再次調用'print',使它在'NSWindow'子類中工作。 –
其實,從頭開始。我剛剛清除了所有Xcode的緩存,現在它在將URL手動粘貼到代碼中時起作用。通常情況下,我會從Twitter的API獲取網址,這是停止工作併產生上述錯誤的時候。什麼 –