iOS数据存储— keyChain
iOS的keyChain是一个相对独立的空间,当我们的程序(App)被替换或者删除时并不会删除保存在keyChain的内容。
相对于NSUserDefaults、plist文件保存等一般方式,keychain保存更为安全。
所以我们会用keyChain保存一些私密信息,比如密码、证书、设备唯一码(UDID7.0被禁 用uuid代替)等等。
密码(包括网站、FTP服务器、SSH账户、网络共享、无线网络、群组软件、加密磁盘镜像),私钥,电子证书、加密笔记等。
苹果官方发布的KeychainItemWrapper或者SFHFKeychainUtils很方便,但是是好几年前就没更新了貌似还是MRC的
苹果提供了以下API用于keychain的写入和删除操作。
//查询
OSStatus SecItemCopyMatching(CFDictionaryRef query, CFTypeRef * __nullable CF_RETURNS_RETAINED result)
//写入
OSStatus SecItemAdd(CFDictionaryRef attributes, CFTypeRef * __nullable CF_RETURNS_RETAINED result)
//更新
OSStatus SecItemUpdate(CFDictionaryRef query, CFDictionaryRef attributesToUpdate)
//删除
OSStatus SecItemDelete(CFDictionaryRef query)
使用方式
导入#import