"NSURLErrorDomain" - 代码:18446744073709550594 Ajax 拜访 Xcode 7

"NSURLErrorDomain" - code: 18446744073709550594 Ajax call on Xcode 7

我正在尝试从 Xcode 7 进行异步调用,如下所示,我最终看到了这个错误 "NSURLErrorDomain" - 代码:18446744073709550594 我在 Xcode 中使用这段代码时没有问题 6. 有没有其他人看到这个错误?

var task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: {
            (var data, response, error) -> Void in

            if(response != nil) {
                if (isJSONP){
                    if let prefixData = "(".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
                        var prefixRange = data!.rangeOfData(prefixData,options:NSDataSearchOptions(), range: NSMakeRange(0, data!.length))
                        if let suffixData = ")".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
                            var suffixRange = data!.rangeOfData(suffixData, options: NSDataSearchOptions(), range: NSMakeRange(0, data!.length))
                            var jsonRange = NSMakeRange(prefixRange.location + 1, data!.length - prefixRange.location - 3 - suffixRange.length)
                            data = data!.subdataWithRange(jsonRange)
                            json_str = NSString(data: data!, encoding: NSUTF8StringEncoding)!
                            //     println(json_str)
                        }

                    }

                }
                do {
                    let jsonData:AnyObject? = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers)
                    callback(jsonData: jsonData)
                } catch {
                    print("JSONData not serialized properly or no data exists correctly")
                }

            }// else results not found properly/ trouble accessing server. please try again later
            else {
                var alert = UIAlertController(title: "Alert", message: "Trouble accessing server. Please try again later", preferredStyle: UIAlertControllerStyle.Alert)
                alert.addAction(UIAlertAction(title: "Close", style: UIAlertActionStyle.Default, handler: nil))
                self.presentViewController(alert, animated: true, completion: nil)
            }


        })

        task.resume()

这是我用过的代码。我既没有看到数据也没有响应。我尝试使用其他应用程序点击相同的 url,它正在正确响应。我在任何地方都看不到任何关于此的文档,因此将其张贴在这里。 任何帮助将不胜感激。

谢谢

尼基尔

似乎是一个错误,我通过将所有请求保持在 https 下来解决它,据我所知,点击 ios9.0 和 9.0.1 尽管你需要允许 url 苹果文档在 Info.plist

中建议的异常

参考。 https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/

@Zeuz10 你是对的。 ios9 及更高版本中的安全性不允许发送任何 http 调用。要解决此问题,您需要更新 Info.plist 说明在此 link

中给出

http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

谢谢 Zeuz10 给我必要的输入

这只是 -999 ,你可以用 NSURLCancel 处理它

我在尝试连接到支持古老 TLS 的服务器时收到了这个确切的错误代码。解决方法:将 NSExceptionRequiresForwardSecrecy 添加到应用的 Info.plist:

<key>NSExceptionDomains</key> 
<dict>
  <key>MY_SERVER_DOMAIN</key>
  <dict>
    <key>NSExceptionRequiresForwardSecrecy</key>
    <false/>
  </dict>
  <!-- any other exceptions you may have -->
</dict>