用来存储 Key-Value 型数据。可针对不同情况使用不同的后端存储。
Manage key-value data with same protocol, for kinds of backends.
- Change ios.deployment_target to 14.1
- Update podspec to use updated pods (KeychainAccess)
- Change ios.deployment_target to 11.0
- Add iCloud as backend storage
- Note there is a limitation of iCloud data size, it is not for 'data' but configuration
- Change impontanceLevel to 1 for all backend, this will cause sync() on every data set. You can still change this number
- Change project to support Swift 4
- Change ios.deployment_target to 9.0
- KeyChain with accessGroup will reload data before EVERY get / set
- to reduce data conflict between two sessions with same key/accessGroup
- technically, one session loads data between another session's loading & saving will still cause confliction. but we IDEALLY ASSUME that will not happen
- it affact performance a little, tachnically.
KeyValueDictionaryInKeychain(withKey:)without accessGroup still use old methodlogy : read from cache, write through - also, as you may know, you should never store big data to keychain
- Enable accessGroup support for KeyChain
public init(withKey: String, accessGroup: String)
- Enable define database for SQLite backend
- Re-structured old code