Код ошибки NSURLErrorDomain -999 в iOS



Я пытался использовать Facebook API Corona SDK, чтобы опубликовать счет в игре, которую я разрабатываю на facebook. Однако, у меня возникли проблемы с ним. В первый раз, когда я пытаюсь опубликовать в facebook, я получаю эту ошибку после входа в систему и аутентификации пользователя:

код ошибки NSURLErrorDomain -999

тогда он не будет публиковаться на facebook. Каковы возможные причины этой ошибки и как я могу решить это? Я пробовал искать в интернете, но не смог найти информация о нем. Спасибо заранее.

кстати, я не использую webview в своем приложении. Просто виджет api и слушатель show_dialog в моем классе Facebook.

258   3  

3 ответов:

ошибка была задокументирована на Библиотека Разработчиков Mac(iOS docs)

соответствующий сегмент из документации будет:

URL загрузка системных кодов ошибок

эти значения возвращаются как свойство кода ошибки NSError объект с доменом "NSURLErrorDomain".

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

Как видите; -999 причинена ErrorCancelled. Это означает: другой запрос выполняется до завершения предыдущего запроса.

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.

Я не использовал Facebook API Corona SDK, но я столкнулся с этой проблемой при использовании Alamofire,secondRequest всегда отменяйте в исполнении с ошибкой -999, согласно сообщениям, которые я нашел в интернете, причина в том, что session недвижимость 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
    }

    }
    Ничего не найдено.

Добавить ответ:
Отменить.