我想设置Do not back up
到我的文件夹中Document Directory
。
我找到了“不备份”的代码,但我如何验证该文件夹是否被标记。
对于 iOS 5.1,在模拟器中运行应用程序,然后在终端中运行以下命令:
xattr {filename}
如果项目被正确标记为排除,您应该看到以下内容:
com.apple.metadata:com_apple_backup_excludeItem
根据您链接的文档,如果您完全按照他们在该页面上列出的方式设置方法,则YES
如果属性标记正确,该方法将返回。
注意:如果未列出任何内容,则意味着该文件将被备份(如果它在 Library 或 Documents 文件夹中).. 如果您看到 'com.apple.metadata:com_apple_backup_excludeItem: com.apple.MobileBackup' 那么您就是很好走。
在模拟器中运行应用程序,然后使用终端针对相关文件运行此命令:
xattr -plxv com.apple.MobileBackup <file name>
对于 iOS 5.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;
}