根据苹果最新审核指导意见2.23章节,app应用必须遵守iOS数据储存指导方针(iOS Data Storage Guidelines ),否则应用将被拒。

根据苹果最新审核指导意见2.23章节,app应用必须遵守iOS数据储存指导方针(iOS Data Storage Guidelines ),否则应用将被拒。

原文如下:

2.23 Apps must follow the iOS Data Storage Guidelines or they will be rejected。

根据iOS Data Storage Guidelines指导意见 https://developer.apple.com/icloud/documentation/data-storage/index.html


iOS5以后苹果对文件存储提出了新的要求,从以上的指导意见可以看出苹果推荐开发者尽量将app生成的文件放在Caches目录下面。

如果开发者一定要使用Document文件夹,可以设置该文件夹属性为do not backup。具体参见 

http://stackoverflow.com/questions/16239147/ios-do-not-back-up-attribute


以下部分来自网络

http://blog.csdn.net/a921800467b/article/details/38386787

iOS 5有了iCloud后,Apple更新了数据存储指导方针,以适应于iCloud存储,同时增加了“不要备份”文件属性,可以指定文件不备份和上传到iCloud
摘录如下,供大家参考:
iOS 数据存储指导方针
iCloud 包括了备份,会通过Wi-Fi每天自动备份用户iOS设备。app的home目录下的所有东西都会被备份,除了应用Bundle本身、缓存目录和temp 目录。已购买的音乐、应用、书籍、Camera Roll、设备设置、主屏幕、App组织、消息、铃声也都会被备份。由于备份通过无线进行,并且为每个用户存储在iCloud中,应用需最小化自己存储的 数据数量。大文件会延长备份时间,并且消耗用户的可用iCloud空间。

为了确保备份尽可能快速高效,应用存储数据需要遵循以下指导方针:
1. 只有那些用户生成的文档或其它数据,或者应用不能重新创建的数据,才应该存储在/Documents目录下,并且会被自动备份到iCloud。
2. 可以重新下载或生成的数据,应该存储在/Library/Caches目录。例如数据库缓存文件、可下载文件(杂志、报纸、地图应用使用的数据)等都属于这一类。
3. 临时使用的数据应该存放在/tmp目录。尽管这些文件不会被iCloud备份,应用在使用完之后需要记得删除这些文件,这样才不会继续占用用户设备的空间。
4. 使用"不要备份"属性来指定那些需要保留在设备中的文件(即使是低存储空间情况下)。那些能够重新生成,但在低存储空间时仍需保留,对应用正常运行有影 响,或者用户希望文件在离线时可用的文件,需要使用这个属性。无论哪个目录下的文件(包括Documents目录),都可以使用这个属性。这些文件不会被 删除,也不会包含在用户的iCloud或iTunes备份中。由于这些文件一直占用着用户设备的存储空间,应用有责任定期监控和删除这些文件。


iOS 5.0.1开始支持"do not back up"文件属性,允许开发者明确地指定哪些文件应该被备份,哪些是本地缓存可以自动删除,哪些文件不需要备份但不能删除。此外,对目录设置这个属性,会阻止备份该目录和目录中的所有内容。
注 意"do not back up"属性只能用于iOS 5.0.1以后版本。之前版本的应用需要存储数据到/Library/Caches目录才能避免被备 份。由于老的系统忽略这个属性,你需要确保应用在所有iOS版本中,都遵循上面的iOS Data Storage Guidelines。


数据处理分类
com.apple.MobileBackup 文件属性就是iOS 5.0.1引入的"do not back up"特性,用于指定文件或目录不需要备份(不管在文件系统的什么位置)。通过使用这个新的文件属性,并且将文件存放在指定的目录下,文件可以分为以下四 种数据类型:s.

关键数据
这 些是用户创建的数据,或其它不能重新生成的数据。应该存放在/Documents目录下,并且不应该标 记为"do not backup"属性。关键数据在低存储空间时也会保留,而且会被iCloud或iTunes备份。

缓存数据
可 以重新下载或生成的数据,而且没有这些数据也不会妨碍用户离线使用应用的功能。缓存数据应该保存 在/Library/Caches目录下。缓存数据在设备低存储空间时可能会被删除,iTunes或 iCloud不会对其进行备份。

临时数据
应 用需要写到本地存储,内部使用的临时数据,但不需要长期保留使用。临时数据应该保存在/tmp目录。系 统可能会清空该目录下的数据,iTunes或iCloud也不会对其进行备份。应用在不需要使用这些数据时,应该尽快地删除临时数据,以避免浪费用户的存 储空间。

离线数据
可 以下载,或重新创建,但用户希望在离线时也能访问这些数据。离线数据应该存放在/Documents目 录或/Library/Private Documents目录,并标记为"do not backup"属性。这两个位置的数据在低存储空间时都会保留,而"do not backup"属性会阻止iTunes或iCloud备份。应用不再需要离线数据文件时,应该尽快删除,以避免浪费用户的存储空间。ce.

设置Do Not Backup扩展属性
注意:"do not backup"扩展属性可以添加到任何文件或目录,在旧版本的系统中也能够设置。但旧系统仍然会备份这些文件,一旦设备更新到iOS 5.0.1,这些文件会被重新正确地配置。

使用下面方法来设置"do not back up"扩展属性。当你创建不需要备份的文件或目录时,向文件写入数据,然后调用下面方法,并传递一个文件URL。

设置扩展属性
#include
- (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;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值