Я отправляю изображение, используя следующий вызов:
AF.upload(...)
на «Сервер разработки», имеющий недействительный сертификат, и, следовательно, я получаю следующую ошибку:
NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be ...
Я уже решил эту проблему для вызовов "AF.request (...)"; то есть я могу выполнять вызовы AF.request (...) на сервер с недействительным сертификатом, используя следующий код:
#if DEBUGDEV
//To enable connections with wrong certificate
private let session: Session = {
let evaluators: [String: ServerTrustEvaluating] = [
"api.my.server.dev.api.group.com": DisabledEvaluator()
]
let manager = ServerTrustManager(allHostsMustBeEvaluated: false,
evaluators: evaluators)
let configuration = URLSessionConfiguration.af.default
return Session(configuration: configuration,
serverTrustManager: manager,
eventMonitors: [ AlamofireLogger() ])
}()
#else
private let session: Session = Session.default
#endif
И затем вызывая:
let request = self.session.request(urlConvertible)
Кроме того, я изменил файл Info.plist, чтобы он содержал «NSAppTransportSecurity -> NSExceptionDomains ->« api.my.server.dev.api.group.com »->« NSThirdPartyExceptionAllowsInsecureHTTPLoads = false »и другие записи, которые можно найти в другие сообщения StackOverFlow.
Однако; предыдущий код работает для «AF.request (...)», но не для «AF.upload (...)», поэтому мне нужен способ, чтобы «AF.upload (..)» работал правильно для серверы с недействительным сертификатом.
Это способ «вставить» «Сеанс» в вызов «AF.upload (...)»? Или есть другой способ, чтобы «AF.upload (...)» мог подключаться к серверам с недействительным сертификатом?