NSURLErrorDomain 错误代码 1002 说明

Posted

技术标签:

【中文标题】NSURLErrorDomain 错误代码 1002 说明【英文标题】:NSURLErrorDomain error code 1002 description 【发布时间】:2014-10-30 07:37:01 【问题描述】:

我是 iOS 开发新手。我正在尝试加载 JSON,这是我的功能:

func loadmyJSON (urlPath: String)       

    let url: NSURL = NSURL(string: urlPath)!

    let session = NSURLSession.sharedSession()

    let task = session.dataTaskWithURL(url, completionHandler: data, response, error -> Void in
               println("Task completed")
        if(error != nil) 
            // If there is an error in the web request, print it to the console
            println("error not nil::::::")
            println(error.localizedDescription)
        
        var err: NSError?
        
        var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary
        if(err != nil) 
            // If there is an error parsing JSON, print it to the console
            println("JSON Error \(err!.localizedDescription)")
    
    
        
        let results: NSArray = jsonResult["variants"] as NSArray
                    dispatch_async(dispatch_get_main_queue(), 
            
            self.jsonTable = results
            self.productView!.reloadData()
           )
     )

但我收到此错误:

error not nil::::::

The operation couldn’t be completed. (NSURLErrorDomain error -1002.)

我能够通过相同的 URL 在浏览器中获取 JSON。 我已尝试阅读 this Apple Doc,但无法获得描述。

这个错误代码是什么意思?

【问题讨论】:

-1002是NSURLErrorUnsupportedURL,说明你的urlPath是错误的。 NSURLErrorDomain 错误 -1002 表示 NSURLErrorUnsupportedURLkCFURLErrorUnsupportedURL。您的 url 字符串很可能在 url 前缀中缺少“http://”。 @AsifAsif : 但是你从哪里得到这些错误代码的描述呢? @sasquatch:你可以在这里找到列表(将Language切换到Obj-C):developer.apple.com/library/mac/documentation/Cocoa/Reference/… 【参考方案1】:

NSURLErrorDomain error -1002 表示NSURLErrorUnsupportedURLkCFURLErrorUnsupportedURL。它表示提供了错误的 URL,在大多数情况下,URL 前缀中缺少 http://

所有NSURLErrorDomain代码的列表可以在这里找到:https://developer.apple.com/documentation/foundation/1508628-url_loading_system_error_codes

【讨论】:

【参考方案2】:

除了上述答案之外,可能发生这种情况的原因之一是,

您可能在 Info.plist 中将 允许任意加载 设置为 false,并且您尝试加载的 URL 不在安全服务器上。

解决方案是将其设置为true,或移至安全连接,即https://

希望它可以帮助某人。一切顺利。

【讨论】:

【参考方案3】:

我遇到了同样的问题,发现 URL 中缺少 key 参数。您需要在用于发出请求的 URL 中为 key 参数设置 Google map key 值。如果您缺少其他键,则可能会发生这种情况。

【讨论】:

以上是关于NSURLErrorDomain 错误代码 1002 说明的主要内容,如果未能解决你的问题,请参考以下文章

NSURLErrorDomain 错误代码 1002 说明

错误:错误域=NSURLErrorDomain 代码=-1001“请求超时。”

错误:错误域=NSURLErrorDomain 代码=-1001 “请求超时。”

错误:错误域=NSURLErrorDomain 代码=-1001“请求超时。”

API 失败,错误域=NSURLErrorDomain 代码=-1003

错误域= NSURLErrorDomain代码= -1005“网络连接丢失。”