如何捕获 App Transport Security 错误?

How to catch App Transport Security errors?

使用NSURLSession时,如果URL不符合ATS,则dataTask终止。是否有委托方法或任何我可以用来收到此错误通知的方法?

您可以像这样使用 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()