Alamofire 5 Миграция - PullRequest
       12

Alamofire 5 Миграция

0 голосов
/ 28 апреля 2020

У меня проблемы с переносом этого кода в Alamofire 5:

init(plugins: [PluginType] = []) {
    let serverTrustPolicies: [String: ServerTrustPolicy] = [
        "test.com.ph": .pinCertificates(
            certificates: ServerTrustPolicy.certificates(),
            validateCertificateChain: true,
            validateHost: true
        )
    ]
    let configuration = URLSessionConfiguration.default
    configuration.timeoutIntervalForRequest = 120 // default is 60.
    let manager = Manager(
        configuration: configuration,
        serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
    )

    super.init(manager: manager, plugins: plugins)
}

Я изменил свой код так же, но я не знаю, как инициализировать менеджер сеансов:

let pinEvaluator = PinnedCertificatesTrustEvaluator(certificates: Bundle.main.af.certificates,
                                                    acceptSelfSignedCertificates: true,
                                                    performDefaultValidation: true,
                                                    validateHost: true)

let trustManager = ServerTrustManager.init(evaluators: ["test.com.ph": pinEvaluator])

let sessionManager = Session.init(configuration: .default, serverTrustManager: trustManager)

super.init(session: sessionManager,plugins: plugins)

enter image description here

Может ли кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 29 апреля 2020

Как говорится в сообщении об ошибке, вы отправили запрос хосту, который не был зарегистрирован, с вашим значением ServerTrustEvaluating. То есть запрос не был test.com.ph. Вы захотите убедиться, что вы делаете запросы на соответствующий хост или что вы использовали правильный хост для закрепления сертификата.

Если вы ожидаете отправлять запросы нескольким хостам, вы можете отключить это поведение путем инициализации ServerTrustManager со свойством allHostsMustBeEvaluated, установленным в false.

...