我试图通过将其设置为 来阻止整个文件夹及其内容备份到 iCloud,NSURLIsExcludedFromBackupKey
如1
指南中所示。我可以将密钥设置为文件夹的 URL,但是我保存在其中的所有数据都0
具有NSURLIsExcludedFromBackupKey
...
这是我的代码:
//create the directory:
[[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:nil];
NSURL *folderURL = [NSURL fileURLWithPath:path isDirectory:YES];
//prevent backup:
NSError *preventBackupError = nil;
BOOL success = [folderURL setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey
error: &preventBackupError];
//this prints 1 and 1:
NSLog(@"resource values for directory: %@", [folderURL resourceValuesForKeys:@[NSURLIsExcludedFromBackupKey, NSURLIsDirectoryKey] error:nil]);
现在,如果我将文件(在本例中为config.xml
)保存在 的子目录中folderURL
,然后执行以下操作:
NSURL *fileURL = [NSURL fileURLWithPath:[path stringByAppendingPathComponent:@"config.xml"]];
if ([[NSFileManager defaultManager] fileExistsAtPath:fileURL.path]) {
NSLog(@"resource values for config file: %@", [configURL resourceValuesForKeys:@[NSURLIsExcludedFromBackupKey] error:nil]);
}
这打印NSURLIsExcludedFromBackupKey = 0;
我检查了其他 SO 答案,例如this one、this one或this one,我看不出我的语法有任何区别......
所以我的问题是,我是否必须手动将该密钥设置为文件夹中的每个文件?还是我做错了什么?
干杯