OSStatus错误-50是什么意思



我正在iOS上编写一些钥匙链代码。当我试图在钥匙扣中插入一个项目时,我会得到错误-50。

OSStatus错误-50是什么意思?

它是errSecParam,表示您的一个或多个参数错误。

此处:https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/index.html#//apple_ref/c/econst/errSecParam

如果要向钥匙链添加密码,请确保将其作为Data而非String传递,否则将收到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)
}

错误-50errSecParam,这意味着在函数中传递的至少一个参数无效。

这可能是由于类型差异,或者可能是无效的值。请参阅苹果网站上的此页面,阅读苹果在errSecParam上的官方文档。

最新更新