Código de error NSURLErrorDomain-999 en iOS
lua corona (3)
El error se ha documentado en la Biblioteca de desarrolladores de Mac (documentos iOS)
El segmento en cuestión de la documentación será:
Códigos de error del sistema de carga de URL
Estos valores se devuelven como la propiedad de código de error de un objeto NSError con el dominio "NSURLErrorDomain".
enum { NSURLErrorUnknown = -1, NSURLErrorCancelled = -999, NSURLErrorBadURL = -1000, NSURLErrorTimedOut = -1001,
Como puedes ver; -999
es causado por ErrorCancelled
. Esto significa: se realiza otra solicitud antes de que se complete la solicitud anterior.
He estado intentando usar la API de Facebook de Corona SDK para publicar la puntuación en el juego que estoy desarrollando en Facebook. Sin embargo, estoy teniendo un problema con eso. Durante la primera vez que trato de publicar en Facebook, recibo este error después del inicio de sesión y la autenticación de usuario:
Código de error NSURLErrorDomain -999
Entonces, no se publicará en facebook. ¿Cuáles son las posibles causas de este error y cómo puedo solucionarlo? Intenté buscar en la web pero no pude encontrar información al respecto. Gracias por adelantado.
Por cierto, no estoy usando webview en mi aplicación. Solo la api del widget y un oyente show_dialog en mi clase de Facebook.
No utilicé la API de Facebook de Corona SDK pero encontré este problema al usar Alamofire, la segunda solicitud siempre se cancela en ejecución con el error -999, de acuerdo con las publicaciones que encontré en Internet, la razón es que la propiedad de la session
se deinit
antes de completar Debido a que está fuera del alcance, finalmente resolví este problema al deinit
manualmente la propiedad de la sesión para que el compilador no la deinite en la posición incorrecta:
class SessionManager {
var session:SessionManager?
init() {
self.session = SessionManager(configuration:URLSessionConfiguration.ephemeral)
}
private func firstRequest() {
guard let session = self.session else {return}
session.request(request_url).responseData {response in
if let data=response.data {
self.secondRequest()
}
}
private func secondRequest() {
guard let session = self.session else {return}
session.request(request_url).responseData {response in
if let data=response.data {
self.secondRequest()
}
//session will no longer be needed, deinit it
self.session = nil
}
}
hjpotter92 tiene toda la razón, solo quiero proporcionar una solución para mi caso. Esperemos que sea útil para usted también. Aquí está mi situación:
En la página de inicio de sesión> presione iniciar sesión en> abrir el cuadro de diálogo de carga> servicio de registro de llamadas> descartar diálogo> pulsar otra pantalla> llamar a otro servicio -> causar error -999
Para solucionarlo, puse una demora entre cerrar el cuadro de diálogo y presionar una nueva pantalla:
[indicatorAlert dismissWithClickedButtonIndex:0 animated:YES];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.01 * NSEC_PER_SEC), dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier:@"HomeSegue" sender:nil];
});
Es extraño que este problema ocurra solo en iOS 7.