在iOS中NSURLErrorDomain错误代码-999(NSURLErrorDomain err

2019-08-31 10:33发布

我一直在尝试使用电晕SDK的Facebook API发布的游戏,我在Facebook上开发了比分。 不过,我与它有一个问题。 在我第一次尝试发布到Facebook上,我得到的登录和用户身份验证后此错误:

NSURLErrorDomain错误代码-999

然后,它不会在Facebook上发布。 什么是这个错误的可能原因,我如何解决呢? 我试着在网上搜索,但无法找到关于它的信息。 提前致谢。

顺便说一句,我没有使用我的应用程序的WebView。 就在小部件的API和我的Facebook类show_dialog听众。

Answer 1:

该错误已被记录在Mac开发者库 (iOS版文档)

从文档有关部分将是:

网址加载系统错误代码

这些值被返回为与域“NSURLErrorDomain”一个NSError对象的错误代码属性。

 enum { NSURLErrorUnknown = -1, NSURLErrorCancelled = -999, NSURLErrorBadURL = -1000, NSURLErrorTimedOut = -1001, 

如你看到的; -999是造成ErrorCancelled 。 这意味着: 在完成前一个请求之前,另一个请求。



Answer 2:

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];
            });

奇怪的是,这个问题发生在iOS 7只。



Answer 3:

只是想在这里补充,接收时-999 "cancelled"的问题通常是一两件事情:

  • 你又执行完全相同的请求。
  • 你保持一个弱引用您的manager对象被提前释放。 (创建强引用)


Answer 4:

使用Alamofire时,我没有使用电晕SDK的Facebook的API,但我遇到了这个问题, secondRequest随时取消与错误-999执行,根据我互联网上找到的职位,原因是session属性deinit完成之前因为异步工作超出范围,我终于解决了这个问题deinit会话属性手动所以编译器不会在错误的位置DEINIT它:

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
    }

    }


文章来源: NSURLErrorDomain error code -999 in iOS