我实际上是在构建应用程序并使用API来实现多种用途,因此使用Alamofire,我正在本地ATM上工作,但无法正常工作。
(当我使用浏览器访问API时,我的本地nodejs服务器https正常运行)
我已经生成了自己的证书并将其注册在钥匙串中,但是当我通过请求访问本地URL时,会从Xcode获得“ code:1200”。但是当我按下https://httpbin.org/get时,一切正常。
(这全部使用Xcode模拟器进行了测试)
我在做什么错了?
答案 0 :(得分:1)
您可以固定证书或禁用证书评估
使用此代码为您的本地主机禁用评估:
private static var Manager : Alamofire.SessionManager = {
// Create the server trust policies
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"your localhost": .disableEvaluation
]
// Create custom manager
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
let man = Alamofire.SessionManager(
configuration: URLSessionConfiguration.default,
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
return man
}()
和this link可能有助于固定证书
答案 1 :(得分:0)
我终于有了上个线程的答案,将其用于本地开发,这基本上与模拟器说明证书有关,因为它适用于Web和邮递员:
https://stackoverflow.com/a/43877084
谢谢您的回答,祝您一切顺利!