标签:
苹果在iOS 5系统时,对app的文件存储提出了新的要求。从它的guildline来看,是推荐开发者尽量把app生成的文件放在Caches目录下的。原文如下:
Only user-generated data or that cannot otherwise be recreated by your application, should be stored in the /Documents directory and rest should be stored to /Library/Caches directory。
如果这么做的话,会出现两种情况
开发者在这时陷入了两难的境地,但是到了iOS 5.0.1的时候,开发者多了第三种选择:
原文如下:
Q: My app has a number of files that need to be stored on the device permanently for my app to function properly offline. However, those files do not contain user data and don\’t need to be backed up. How should I store those files in iOS 5?
A: Starting in iOS 5.0.1 a new \”do not back up\” file attribute has been introduced allowing developers to clearly specify which files should be backed up, which files are local caches only and subject to purge, and which files should not be backed up but should also not be purged. In addition, setting this attribute on a folder will prevent the folder and all of its contents from being backed up.
给文件加上\”do not back up\”属性的代码如下,需要注意这个是iOS 5.0.1才有效,低于这个版本就别费劲了。
#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;
}
Documents下存储文件被拒解决方法(文件存储策略应对)
标签:
原文地址:http://www.cnblogs.com/weixhe/p/4212945.html