Как отловить ошибки App Transport Security? - PullRequest
0 голосов
/ 19 марта 2020

При использовании NSURLSession, если URL-адрес не соответствует ATS, задача DataTask завершается. Есть ли метод делегата или что-то, что я могу использовать, чтобы получить уведомление об этой ошибке?

1 Ответ

1 голос
/ 19 марта 2020

Вы можете использовать данные с ошибкой, возвращенные в dataTask completionHandler, например:

let datatask = URLSession.shared.dataTask(with: URL(string: "http://example.com")!) {

        (data, response, error) in

        if let error = error {

            let isATSError = (error as NSError)._code == -1022

            if(isATSError) {

                // it is an ATS error. do something!
            }
        }

        // no errors, continue

    }
    datatask.resume()
...