我尝试了以下代码,但不断收到"指定的属性不存在"错误。 kSecValueRef 已检查,不是 nil
let attributes: [String: Any] = [kSecClass as String : kSecClassCertificate,
kSecValueRef as String : certificateRef!,
kSecAttrApplicationTag as String : tag]
let osStatus = SecItemAdd(attributes as CFDictionary, nil)
您可以在此处找到描述kSecClassCertificate
类型的可用属性的资源。 您应该将kSecAttrApplicationTag
更改为kSecAttrLabel
,这应该为您解决问题。应用程序标记不是证书的有效参数。
附言在 Apple 开发人员文档页面上有一个文档描述了每个类的每个属性,或者您也可以查看源代码。