• ios数据存储


    之前lp生病手术,加上项目紧张,有些博友的消息没有回复.主要还是关于Omni的例子,不日整理好后上传到git,供交流学习.

    下面总结下之前遇到的ios数据存储中的经验总结.

    5.0以后,用户可以选择将程序备份到icloud,这对沙盒内的数据存储有了新的要求。

    开启icloud备份后,程序内容可以备份到云端,这样用户数据可以在其他i设备上使用。这样,开发人员在沙盒中存储数据就有讲究了。直接上Apple的文档

    下面简单翻译一下。

    icloud和itunes对以下三个文件夹不会备份:

    • <Application_Home>/AppName.app
    • <Application_Home>/Library/Caches
    • <Application_Home>/tmp

    以下是数据存储的几条规则

    1. 关键数据存储在<Application_Home>/Documents。所谓关键数据(critical data)是指不能有程序生成的如用户生成的文档或其他数据。
    2. 辅助文件(support files)指程序使用中通过下载获得或者用户可以重新创建的文件,他们的存放取决于ios版本:
    • ios5.1及以后,存储在<Application_Home>/Library/Application Support, 并设置NSURLIsExcludedFromBackupKey属性。
    • ios5以及之前的系统,存储在<Application_Home>/Library/Caches就可以避免被备份。对于5.0.1系统,也是存储在同样位置。但是通过以下方式设置不备份的属性。
    1. 缓存数据存储在<Application_Home>/Library/Caches。缓存数据指的是数据库文件和可以下载的文件,比如杂志/新闻/地图导航类应用需要用到的数据。缓存文件在存储空间不够的情况下会被系统删除。
    2. 临时数据<Application_Home>/tmp.临时数据指一段时间内不需要保存的数据,开发人员要注意随时情况此文件夹.

    下面再介绍下程序下载更新后,系统如何处理沙盒数据.

    下载更新并安装后,系统会新建一个文件夹安装程序,再把原有程序中的用户数据拷贝到新地址,再删除原有程序.用户数据指的就是以下两个文件夹的内容:

    • <Application_Home>/Documents
    • <Application_Home>/Library

    另外,对于备份还有个概念要提一下:

    1以上备份到远端指的是程序内的用户数据备份到icloud云服务器上,但是用户可以设置关闭对此应用的备份.

    2程序中使用icloud功能,将文件存储到icloud云服务器,这是由程序功能决定的,而不是可以由用户左右的.

  • 相关阅读:
    problem in Sourcetree
    Get started with Sourcetree
    IIS application pool access desktop denied
    结构型模式 适配器模式
    结构型模式 装饰模式
    结构型模式 代理模式
    创建型模式 原型模式
    创建型模式 建造者模式
    创建型模式 抽象工厂
    设计模式的六大原则
  • 原文地址:https://www.cnblogs.com/scorpiozj/p/2517155.html
Copyright © 2020-2023  润新知