"do not back up"文件夹属性

iOS 数据存储指导方针

iCloud包括了备份,会通过Wi-Fi每天自动备份用户iOS设备。app的home目录下的所有东西都会被备份,除了应用Bundle本身、缓存目录和temp目录。已购买的音乐、应用、书籍、Camera Roll、设备设置、主屏幕、App组织、消息、铃声也都会被备份。由于备份通过无线进行,并且为每个用户存储在iCloud中,应用需最小化自己存储的数据数量。大文件会延长备份时间,并且消耗用户的可用iCloud空间。
为了确保备份尽可能快速高效,应用存储数据需要遵循以下指导方针:

1. 只有那些用户生成的文档或其它数据,或者应用不能重新创建的数据,才应该存储在<Application_Home>/Documents目录下,并且会被自动备份到iCloud。

2. 可以重新下载或生成的数据,应该存储在<Application_Home>/Library/Caches目录。例如数据库缓存文件、可下载文件(杂志、报纸、地图应用使用的数据)等都属于这一类。

3. 临时使用的数据应该存放在<Application_Home>/tmp目录。尽管这些文件不会被iCloud备份,应用在使用完之后需要记得删除这些文件,这样才不会继续占用用户设备的空间。

4. 使用"不要备份"属性来指定那些需要保留在设备中的文件(即使是低存储空间情况下)。那些能够重新生成,但在低存储空间时仍需保留,对应用正常运行有影响,或者用户希望文件在离线时可用的文件,需要使用这个属性。无论哪个目录下的文件(包括Documents目录),都可以使用这个属性。这些文件不会被删除,也不会包含在用户的iCloud或iTunes备份中。由于这些文件一直占用着用户设备的存储空间,应用有责任定期监控和删除这些文件。

5. 设置扩展属性

#include <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
const char* filePath = [[URL path] fileSystemRepresentation];

const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;

int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}

原文链接

为了安全的缘故,一个应用只能拥有一些目录,用来写入应用的数据或者首选项参数。当一个应用安装到系统,会创建该应用的home目录。以下列出一些home目录下的主要的子目录:

<Application_Home>/AppName.app:存放应用程序自身

<Application_Home>/Documents/:存放用户文档和应用数据文件

<Application_Home>/Library/:应用程序规范的顶级目录,下面有一些规范定义的的子目录,当然也可以自定义子目录,用于存放应用的文件,但是不宜存放用户数据文件,和document一样会被itunes同步,但不包括caches子目录<Application_Home>/Library/Preferences,这里存放程序规范要求的首选项文件

<Application_Home>/Library/Caches,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下

<Application_Home>/tmp/,保存应用数据,但不需要持久化的,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候做清除

原文链接

官方文档

时间: 2024-10-08 20:31:55

"do not back up"文件夹属性的相关文章

[sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的地方 Rest API的简单应用 rest api方式实现对文档库的管理 通过WebClient模拟post上传文件到服务器 WebHttpRequest在sharepoint文档库中的使用 [sharepoint]Rest api相关知识(转) [sharepoint]根据用户名获取该用户的权限

Linux -&gt;&gt; Chmod命令改变文件/文件夹属性

简介 chmod命令用于改变linux系统文件或目录的访问权限,控制用户/用户组对文件或目录的访问权限. 用法: 两种用法:1)用字母r(读).w(写).x(执行)表示权限类型:2)用数字表示,4代表读,2表示写,1代表执行. 文件/文件夹的权限属性的面相的用户群体分owner(所有者).owner group(所有者所在用户组的成员).others(其他用户).所以chmod 760 test_foler/等于chmod u=rwx,g=rw test_foler/. 除了显示赋安全权限外,还

vb代码之---打开文件或文件夹属性

打开一个文件夹或者一个文件该怎么写?当然是ShellExecute函数了,但是他不能完成文件属性窗口的调用. 要想调用一个文件的属性窗口,就要用到ShellExecute的扩展ShellExecuteEx了 先看怎么声明 Private Declare Function ShellExecuteEx Lib "shell32.dll" (ByRef lpExecInfo As SHELLEXECUTEINFOA) As Long 参数很简单,只有一个SHELLEXECUTEINFOA,

dos添加文件夹属性!

attrib 显示所有文件的属性:参数:+r或-r [文件名] 设置文件属性是否为只读 +h或-h [文件名] 设置文件属性是否隐含 +s或-s [文件名] 设置文件属性是否为系统文件 +a或-a [文件名] 设置文件属性是否为归档文件 /s 设置包括子目录的文件在内的文件属性 , 设置所有属性文件为归档文件

find --批量修改文件或文件夹属性

命令:find . -type d -exec chmod 777 {} + 作用:把当前目录下及子目录的属性改成777 命令:find . -type f -exec chmod 777 {} + 作用:把当前目录及子目录中的文件属性改成777

VC++显示文件或文件夹属性

When you select a file or folder in Explorer window, and choose 'Properties' from the menu, you get the properties window that contains some essential information about the file: The size of file, created date, modified date, attributes, and so on. I

SSAS属性中更改AllowedBrowsingFolders的值后才能更改其它文件夹的值

在Sql Server Analysis Service中的属性中有很多文件夹属性,决定了存放CUBE文件数据的位置,如下图所示在SSAS管理界面服务器上点击属性: 选择常规,我们可以看到下图属性框中有很多路径,比如DataDir就是存储Cube数据集和维度数据的文件夹地址,有时候Cube的数据比较多了就需要将这个地址改为一个大的存储目录才行. ] 但是我们现在去修改DataDir的值,发现 选择常规,记得点击左下方的 显示高级(全部)属性 复选框,我们可以看到下图属性框中有很多路径,比如 原文

从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制

一句话提要 好的開始等于成功了一半. 创建文件夹结构 project文件夹下最好分为以下几个文件夹 Docs - 开发文档,设计文档 Assets - 角色,动作,模型和音效等 Source - 代码,project文件或者makefile也放在这里,假设有引用第三方的lib,在里面建立一个3rdParty的文件夹,放在里面. Temp - 用于防止编译生成的文件 Lib - 放置编译好的lib文件,将source编译成lib能够更好地保护源码. Game - 用于放置release buid,

文件夹如何添加备注(保证可以)

网上很多方法都有人说试过了,不可以.其实不是不可以,他们都没有说完整 今天自己弄了下,弄出来了,废话不多说先上图 1.获得desktop.ini文件:文件存在于文件夹中,这是文件夹配置文件,默认是没有这个文件的 产生方法1:需要先对文件夹属性(比如文件夹图标)进行改变操作,这样才能产生文件夹下产生desktop.ini文件 改变图标:一般这样右键文件夹选择属性-->自定义-->更换图标-->随便选择一个文件夹的图标-->确定-->应用-->确定 产生方法2:自己建立的也