首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问密钥链项iOS失败

问访问密钥链项iOS失败
EN

Stack Overflow用户
提问于 2021-10-02 14:43:11
回答 1查看 26关注 0票数 0

我们在Keychain中存储了一些用户信息。我们收到报告称,对于某些数据存储在密钥链中的用户,检索失败。

在什么情况下kSecClassGenericPassword属性会失败?

代码:

代码语言:javascript
复制
let query = [
            kSecClass as String       : kSecClassGenericPassword,
            kSecAttrAccount as String : key,
            kSecReturnData as String  : kCFBooleanTrue!,
            kSecMatchLimit as String  : kSecMatchLimitOne ] as [String : Any]

        var dataTypeRef: AnyObject? = nil

        let status: OSStatus = SecItemCopyMatching(query as CFDictionary, &dataTypeRef)

store的代码:

代码语言:javascript
复制
func save(key: String, data: Data) -> OSStatus {
        let query = [
            kSecClass as String       : kSecClassGenericPassword as String,
            kSecAttrAccount as String : key,
            kSecValueData as String   : data ] as [String : Any]

        SecItemDelete(query as CFDictionary)

        return SecItemAdd(query as CFDictionary, nil)
    }

注意:检索数据的代码可以在一秒内多次调用。这会给钥匙链带来“压力”吗?

EN

回答 1

Stack Overflow用户

发布于 2021-10-02 14:54:40

根据您在创建项目时指定的访问权限,可能无法检索该项目,例如,如果用户没有密码,锁定了手机,关闭或更改了生物识别,或者从备份中恢复了另一部手机上的应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69417923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档