OSStatus 错误 -50 是啥意思?

Posted

技术标签:

【中文标题】OSStatus 错误 -50 是啥意思?【英文标题】:What does OSStatus Error -50 mean?OSStatus 错误 -50 是什么意思? 【发布时间】:2014-11-03 16:04:10 【问题描述】:

我正在 ios 上编写一些钥匙串代码。当我尝试在钥匙串中插入项目时,出现错误 -50。

OSStatus 错误 -50 是什么意思?

【问题讨论】:

errSecParam = -50, /* One or more parameters passed to a function where not valid. */ 在哪里可以找到完整的错误列表?谢谢! Security.framework/SecBase.h 或这里 developer.apple.com/library/ios/documentation/Security/…,在 Keychain Services【参考方案1】:

errSecParam,表示你的一个或多个参数有误。

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

【讨论】:

【参考方案2】:

如果您要向钥匙串添加密码,请确保将其作为数据而不是字符串传递,否则您将收到 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)

【讨论】:

SecItemDelete(query as CFDictionary) 解决了我的问题的行,谢谢:)【参考方案3】:

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

这可能是由于类型差异,或者可能是无效值。 See this page on the Apple site 在errSecParam 上阅读 Apple 的官方文档。

【讨论】:

以上是关于OSStatus 错误 -50 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

OSStatus 错误 1685348671 AVAudioPlayer

(OSStatus 错误 2003334207)从文件播放

ITLibrary:操作无法完成。 (OSStatus 错误 7011。)

Xcode 10 不会创建开发者签名证书,得到 OSStatus 错误 -2147416032

iOS AVAudioPlayer OSStatus 错误 -43

iOS - 播放录制的音频失败并出现 OSStatus 错误 -43(未找到文件)