Alamofire,未声明类型的使用

Haj*_*tsu 1 ssl xcode swift alamofire

我正在使用 Alamofire 进行 SSL 固定。为此,我使用以下代码:

import Foundation
import Alamofire
import SwiftyJSON   

class CertificateManager {
    init() {
        let serverTrustPolicies: [String: ServerTrustPolicy] = [
            "test.example.com": .pinCertificates(
                certificates: ServerTrustPolicy.certificates(),
                validateCertificateChain: true,
                validateHost: true
            ),
            "insecure.expired-apis.com": .disableEvaluation
        ]

        let sessionManager = SessionManager(
            serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

但发生了这些错误:

使用未声明的类型错误

我的 pod 文件是:pod 'Alamofire', '~> 5.0.0-rc.2'.

我搜索并测试了一些解决方案,但无法解决错误。我怎样才能解决这个问题?

我也试过这个答案。+

Kam*_*ran 5

Alamofire正在使用版本,ServerTrustPolicy并且SessionManager不再存在。您可以尝试如下新引入的 api,

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

let trustManager = ServerTrustManager.init(evaluators:
    ["test.example.com": pinEvaluator,
     "insecure.expired-apis.com": disableEvaluator
    ])

let sessionManager = Session.init(configuration: .default, serverTrustManager: trustManager)
Run Code Online (Sandbox Code Playgroud)