iOS中的NSURLErrorDomain错误代码-999

use*_*438 66 lua nsurl ios nsurlerrordomain coronasdk

我一直在尝试使用Corona SDK的Facebook API在我正在Facebook上开发的游戏上发布得分.但是,我遇到了问题.在我第一次尝试发布到Facebook时,我在登录和用户身份验证后收到此错误:

NSURLErrorDomain错误代码-999

然后,它不会在Facebook上发布.导致此错误的可能原因是什么?如何解决?我尝试在网上搜索但无法找到有关它的信息.提前致谢.

顺便说一句,我没有在我的应用程序上使用webview.只是我的Facebook类中的widget api和show_dialog监听器.

hjp*_*r92 127

该错误已记录在Mac开发人员库(iOS文档)中

文件中的相关部分将是:

URL加载系统错误代码

这些值作为具有域"NSURLErrorDomain"的NSError对象的错误代码属性返回.

enum
{
   NSURLErrorUnknown = -1,
   NSURLErrorCancelled = -999,
   NSURLErrorBadURL = -1000,
   NSURLErrorTimedOut = -1001,
Run Code Online (Sandbox Code Playgroud)

如你看到的; -999是由...引起的ErrorCancelled.这意味着:在上一个请求完成之前发出另一个请求.

  • 想要补充一点,当服务器的SSL证书出现问题时(即它已过期或无效),您会得到相同的错误(-999) (8认同)
  • 可以表示(error.code == NSURLErrorCancelled == -999)和error.domain(NSString)是NSURLErrorDomain.当您使用取消取消任务时,您会得到此信息 (4认同)
  • 我刚刚得到 -999 并且我有一个无效的 SSL 证书。我修复了证书,-999 不见了。 (4认同)

tha*_*h84 11

hjpotter92是绝对正确的,我只是想为我的案例提供解决方案.希望它对你也有用.这是我的情况:

登录页面>按登录>弹出加载对话框>调用登录服务>关闭对话框>按另一个屏幕>调用另一个服务 - >导致错误-999

为了解决这个问题,我在解除对话框和推送新屏幕之间放了一个延迟:

    [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];
            });
Run Code Online (Sandbox Code Playgroud)

奇怪的是,此问题仅在iOS 7上发生.


Ram*_*mon 8

只是想在这里添加,收到-999 "cancelled"问题时通常是两件事之一:

  • 您将再次执行完全相同的请求。
  • 您维护的manager对象的弱引用会过早地释放。(创建强大的参考)

  • 我应该详细说明一下,我的意思是在相同的对象已经“执行”(例如,下载数据)时执行完全相同的请求。然后取消第一个请求,以执行第二个请求。 (2认同)

Pab*_*nco 7

我在 Alamofire 中遇到了同样的错误,这是因为证书固定。该证书不再有效,因此我必须将其删除并添加新证书。希望能帮助到你。