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
网友评论