试图检索时会出现此错误URLCredential
从URLCredentialStorage
未知URLProtectionSpace
。例如
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上的凭证存储使用户可以将基于证书或基于密码的凭证安全地临时或永久地存储在设备上。
我怀疑您在后端服务器上进行了某种身份验证,并且该服务器正在向您的应用程序请求身份验证挑战(不存在任何凭据)。
可以安全地忽略它,因为从中返回nil URLCredentialStorage
是有效的响应