美文网首页
iOS SAMkeychain 少量存取异常记录

iOS SAMkeychain 少量存取异常记录

作者: 静守幸福 | 来源:发表于2022-03-11 17:16 被阅读0次

    iOS 账号密码等重要信息最好设置到Keychain

    传送门

    注意点

    SAMkeychain 根据 service和account 来进行存取 若一个为空 会直接失败

    service 一般是 bundleIdentifier account 根据存取数据类型 设定值(常量字符串)

    SAMkeychain password 会转成 passwordData 若有多个字段 直接存在passwordData
    /**
     Convenience accessor for setting and getting a password string. Passes through
     to `passwordData` using UTF-8 string encoding.
     */
    @property (nonatomic, copy, nullable) NSString *password;
    

    单个数据 存在 password, 多个数据 存在 passwordData;
    不要同时使用 password passwordData

    SAMkeychain 只能删除密码

    尽量对相同的Key操作 可以避免存的数据不同时 垃圾数据增多

    公司iOSApp 自动登录 有些许设备反应掉登录的问题 排查发现是Keychain 存取问题

    记录下处理逻辑

    1. 设置 accessibilityType
    [SAMKeychain setAccessibilityType:kSecAttrAccessibleWhenUnlocked];
    

    SAMkeychain 设置该属性的时候的说明

    Sets the accessibility type for all future passwords saved to the Keychain.
    
     @param accessibilityType One of the "Keychain Item Accessibility Constants"
     used for determining when a keychain item should be readable.
    
     If the value is `NULL` (the default), the Keychain default will be used which
     is highly insecure. You really should use at least `kSecAttrAccessibleAfterFirstUnlock`
     for background applications or `kSecAttrAccessibleWhenUnlocked` for all
     other applications.
    
     @see accessibilityType
    
    2. 存取返回error 时多次存取 仍然失败 增加NSUserDefault 加密存取

    相关文章

      网友评论

          本文标题:iOS SAMkeychain 少量存取异常记录

          本文链接:https://www.haomeiwen.com/subject/kcuylrtx.html