CredStore执行查询错误
我正在执行对我的应用程序后端的API调用时遇到问题,现在每个连接都提示
CredStore - performQuery - Error copying matching creds. Error=-25300, query={ atyp = http; class = inet; "m_Limit" = "m_LimitAll"; ptcl = http; "r_Attributes" = 1; srvr = "myappsurl.com"; sync = syna; }
我有点迷路,因为我不确定是什么造成了这个问题,或者CredStore做了什么。 CredStore在iOS中的用途是什么?
尝试从URLCredentialStorage
为未知的URLProtectionSpace
检索URLCredential
时,会发生此错误。 例如
let protectionSpace = URLProtectionSpace.init(host: host, port: port, protocol: "http", realm: nil, authenticationMethod: nil) var credential: URLCredential? = URLCredentialStorage.shared.defaultCredential(for: protectionSpace)
产生
CredStore - performQuery - Error copying matching creds. Error=-25300, query={ class = inet; "m_Limit" = "m_LimitAll"; ptcl = http; "r_Attributes" = 1; srvr = host; sync = syna; }
给它一个保护空间的证书:
let userCredential = URLCredential(user: user, password: password, persistence: .permanent) URLCredentialStorage.shared.setDefaultCredential(userCredential, for: protectionSpace)
并且下次尝试检索凭据时错误消失。
我有点迷路,因为我不确定是什么造成了这个问题,或者CredStore做了什么。 CredStore在iOS中的用途是什么?
iOS上的凭据存储允许用户临时或永久地在设备上安全地将基于证书或密码的凭证存储在钥匙串中。
我怀疑你在你的后端服务器上有某种authentication,并且这个服务器正在向你的应用程序请求一个authentication质询(对于这个authentication没有任何凭据)。
它可能可以安全地忽略,因为从URLCredentialStorage
返回零是一个有效的回应
同样在这里w / Xcode9 GM。 由于我没有遇到任何明显的古怪,我会说忽略它。