尝试使用SecCopyErrorMessageString来解释errorCode。在swift:
var result: OSStatus
result = SecItemAdd(query as CFDictionary, nil);
if result != errSecSuccess {
let errorDescription = SecCopyErrorMessageString(result,nil)
// NSLog("Keychain Error: %@", errorDescription)
"未解析的标识符"的错误从" SecCopyError ..."
开始答案 0 :(得分:7)
{11}版仅在iOS上提供SecCopyErrorMessageString
功能。在此之前,它只能在OS X上使用。
答案 1 :(得分:2)
上述答案有点过时,根据Apple,iOS 11.3,tvOS 11.3和watchOS 4.3自SDK测试版开始支持这一点。
您需要针对这些受支持的SDK进行编译才能使用该功能。否则,目前只有macOS支持。
答案 2 :(得分:0)
这可能并不明显:此API是Security
框架的一部分。您需要将框架添加到项目目标的Build Phases > Link Binary With Libraries
。