gpt4 book ai didi

ios - 为什么 NSURLConnection 在 Swift iOS8 中失败并出现 Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost."?

转载 作者:IT王子 更新时间:2023-10-29 05:44:38 27 4
gpt4 key购买 nike

我使用 Xcode beta6。我创建了一个具有下载器类的应用程序,这是下载器类:

class Downloader : NSObject {

private var _connection : NSURLConnection?
private var _downloadedData: NSMutableData?

func getDataFromURLString(urlToRequest: String!, aType: DownloadedDataType) {

_downloadedData = NSMutableData()

var request : NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlToRequest), cachePolicy: .ReloadIgnoringLocalCacheData, timeoutInterval: 20.0)
request.setValue("", forHTTPHeaderField: "Accept-Encoding")

self._connection = NSURLConnection(request: request, delegate:self)
}

func connection(connection: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
println("Data expected size: \(response.expectedContentLength)")
}

func connectionDidFinishLoading(connection: NSURLConnection!) {
println("finished")
}

func connection(connection: NSURLConnection!, didFailWithError error: NSError!) {
println("error: \(error)")
}

func connection(connection: NSURLConnection!, didReceiveData data: NSData!) {
_downloadedData?.appendData(data)
}

}

当服务器通过 LAN 电缆连接到网络时,此类运行良好并获得正确的 JSON 结果,但是当此服务器通过 WiFi 连接到同一网络时,我从 iOS 设备收到此错误:

Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost."

但这真的很奇怪,因为如果我将 json 路径粘贴到浏览器,我会看到 json.. 所以只有在 iOS 设备上无法处理,但我不知道我应该修复什么..谁能帮帮我?

因此,如果我用来开发的 Mac mini 在局域网上,并且服务器在局域网上,则一切正常。但是当我的 Mac mini 在 WiFi 上并且我的服务器在 Wifi 上时我得到这个错误......

最佳答案

那么,我的第一个问题是您是否尝试过在 Objective-C/iOS 7 中使用相同的逻辑/代码来完成相同的任务?这会让我们知道这是 Swift、iOS 8 中的问题还是您的代码中的问题。如果有,请在编辑/更新中发布此代码。

第二个问题:为什么要覆盖接受编码?如果您指定 header 值,许多服务器 都需要一些东西。最好将其删除。

第三个问题:您运行的是哪个版本的 iOS 8 beta? FWIW,对 SO 的简单搜索显示了这个问题: Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost."

所以它可能是 iOS 8 测试版中的一个错误。我建议首先尝试 objective-c,如果它也坏了,请转到开发者论坛并发布您的问题以引起 Apple 的注意。您可能还想为其打开雷达。

关于ios - 为什么 NSURLConnection 在 Swift iOS8 中失败并出现 Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25651819/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com