我读到可以用“不备份”属性标记文件夹。
据我所知,在这种情况下,目录的所有内容都将被排除在备份之外。
在我们的应用程序中,我们需要从备份中排除文档目录中的所有文件(这些文件可以在应用程序执行期间从文档中添加或删除)。
我们需要将文件存储在文档中,因为我们使用了“应用程序支持iTunes文件共享”功能。
我们能用“不要备份属性”来标记文档目录吗?
苹果允许这样做吗?
这会成为拒绝我们应用程序的理由吗?
发布于 2013-11-17 07:06:21
据苹果
在iOS 5.0和更早版本中,将文件放在/Library/缓存目录中,以防止文件被备份 在com.apple.MobileBackup 5.0.1及更高版本中,将文件放到/Library/Application目录中,并将iOS扩展属性应用于它们。此属性防止将文件备份到iTunes或iCloud。如果您有大量的支持文件,您可以将它们存储在一个自定义子目录中,并将扩展属性应用于该目录。
据我所知,您不能用“不备份”属性标记文档目录。
1)您可以使用下面的代码片段标记文档目录中的各个文件
- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *)filePathString {
NSURL *fileURL =
[NSURL fileURLWithPath:filePathString];
assert([[NSFileManager defaultManager]
fileExistsAtPath: [fileURL path]]);
NSError *error = nil;
BOOL success = [fileURL setResourceValue:[NSNumber numberWithBool:YES]
forKey:NSURLIsExcludedFromBackupKey
error:&error];
return success;
}2)您可以在documents文件夹中创建一个子目录,并对其应用扩展属性。
您可以使用以下语法设置。
int result = setxattr(path, attrName, myDataBytes, [myData length], 0, 0);您可以在下面的链接中找到有关读取和写入扩展属性的更多信息
我希望这能帮到你
https://stackoverflow.com/questions/16009693
复制相似问题