我正在iOS上编写一些钥匙串代码。当我尝试在钥匙串中插入一个项目时,我得到错误-50。
OSStatus错误-50是什么意思?
答案 0 :(得分:8)
它是errSecParam
,表示您的一个或多个参数错误。
答案 1 :(得分:5)
如果要在钥匙串中添加密码,请确保将其作为数据传递而不是字符串,否则会出现OSStatus错误-50。
static func savePassword(password: Data, account: String) throws -> OSStatus {
let query = [
kSecClass as String: kSecClassGenericPassword as String,
kSecAttrAccount as String: account,
kSecValueData as String: password
] as [String: Any]
SecItemDelete(query as CFDictionary)
return SecItemAdd(query as CFDictionary, nil)
}
答案 2 :(得分:2)
错误-50
是errSecParam
,表示您在函数中传递的参数中至少有一个是无效的。
这可能是由于类型差异或可能是无效值造成的。
See this page on the Apple site在errSecParam
上阅读Apple的官方文档。