美文网首页
iOS 存储的研究

iOS 存储的研究

作者: woniu | 来源:发表于2018-01-10 17:47 被阅读53次

本文针对iOS两种存储做较为深入的分析

一、iOS存储数据的原则

1、一般从网上下载的那些内容,包括杂志、报纸、视频什么的,都要放在/Library/Caches目录下面。

2、Library目录下面的内容,也会被被iTunes备份,但是Caches目录除外,也就是说这些网络下载内容文件放在这里是不会被备份的。

3、Library/Caches目录下,一般情况下是不会被删除的,我理解,也包括stackoverflow网友的证明,应用升级的时候也不会被删除,实际上,应用升级的具体系统操作是这样的:在升级的APP的时候,系统会新建一个应用目录,然后再把旧版本的数据拷贝过来,之后再删除旧版本的应用安装目录。

注意:Library/Caches目录下的内容一般不会被删除,但是在系统恢复和其他情况下(比如磁盘空间较低,系统自动清理数据的时候)会被清楚,所以你的程序每次都要检查一下,这些文件还在不在了,不在的话只能重新下载了。

资料来源:http://blog.csdn.net/u011404663/article/details/49615965

二、NSUserDefault存储数据

1、账号密码确实不要使用NSUserDefault 保存,测试包可以使用iFunBox轻松从windows电脑导出沙河文件,userdefault 文件看得一清二楚啊。

2、APP升级之后,NSUserDefault中的数据依然保存,不会被删除掉。

三、keyChain存储数据

定义:是一个安全的存储容器,可以用不同的应用保存敏感信息,比如用户名,密码、网络密码、认证令牌等。他是一个sqlite数据库,位于/private/var/Keychains/keychain-2.db,其保存的所有数据都是加密过的。keyChain中的信息存储在每个应用的沙盒之外的,所以不会随着应用的删除、升级或者系统的升级被删除掉。

1、从Keychain中导出数据的最流行工具是ptoomey3的Keychain dumper。

2、KeyChain相关参数

秘钥类型键CFTypeRef kSecClass,包含一下五种秘钥键。

//CFTypeRef kSecClassGenericPassword //一般密码

//CFTypeRef kSecClassInternetPassword //网络密码

//CFTypeRef kSecClassCertificate //证书

//CFTypeRef kSecClassKey //密钥

//CFTypeRef kSecClassIdentity //身份证书(带私钥的证书)

3、怎样在不同的APP中共享keyChain中的数据呢?

首先keyChain中的数据存储是和字典相同的key/value的形式,如果不同的APP要共用keyChain中的数据,我们该怎么办呢,下面我列一个表说明下情况。

共享keyChain中的值

根据表中情况,只有在相同开发者账号发布的APP且keyChain中设置的参数相同才可以共享keyChain中的数据。

4、怎么删除keyChain中的数据

除了重置手机或者APP代码删除,其他情况例如删除APP、升级系统都不会丢失keyChain中的数据。

keychain部分资料来源-http://blog.csdn.net/zhi_sheng/article/details/51496004

相关文章

  • iOS 存储的研究

    本文针对iOS两种存储做较为深入的分析 一、iOS存储数据的原则 1、一般从网上下载的那些内容,包括杂志、报纸、视...

  • iOS数据存储之NSCoder

    资源连接: iOS数据库存储之SQL语句; iOS数据库存储之SQLite3; iOS数据存储之文件沙盒; iOS...

  • iOS数据存储

    iOS数据存储 数据存储

  • iOS数据库存储之SQLite3

    资源连接: iOS数据库存储之SQL语句; iOS数据存储之文件沙盒; iOS数据存储之NSCoding; SQL...

  • iOS数据存储之文件沙盒

    资源连接: iOS数据库存储之SQL语句; iOS数据库存储之SQLite3; iOS数据存储之NSCoding;...

  • iOS数据库存储之SQL语句

    资源连接: iOS数据库存储之SQLite3; iOS数据存储之文件沙盒; iOS数据存储之NSCoding; S...

  • iOS-12 数据存储

    1iOS数据存储之Core Data(一) - 简书 2iOS数据存储之归档 - 简书 3iOS数据存储之偏好设置...

  • 沙盒机制

    IOS数据存储之文件沙盒存储

  • iOS基础之数据存储

    iOS数据存储 1. 概论 在iOS开发中数据存储的方式可以归纳为两类: 存储文件 和 存储到数据库. 2.文件存...

  • iOS中的转场研究

    iOS中的转场研究 iOS中的转场研究

网友评论

      本文标题:iOS 存储的研究

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