"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>
我正在尝试从 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>