我试图阻止整个文件夹由itunes支持.我按照技术报告http://developer.apple.com/library/ios/#qa/qa1719/_index.html但似乎falg每次都是零.我在模拟器和设备上使用IOS 5.1.但没有任何帮助.这些方法每次都会返回"成功",但标志仍为零.
+ (BOOL) hasSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
NSError *error = nil;
id flag = nil;
BOOL success = [URL getResourceValue: &flag
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
return false;
}
if (!flag)
return false;
return [flag boolValue];
}
+ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success;
}
+ (BOOL)removeSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: NO]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success;
}
Run Code Online (Sandbox Code Playgroud)
Geo*_*rge 26
我刚刚在我的应用程序中解决了这个问题,虽然它有点令人沮丧,但最终都工作得很好.所以,这是addSkipBackupAttributeToItemAtURL的代码.您可能想要检查出来.它也对待5.0.1和5.0.您只需在代码中处理5.1或更高版本.
但:
假设您有一个NSString*路径 - 文件/文件夹的路径,请不要使用以下方法调用该方法:
[NSURL urlWithString:path]; 它适用于5.0.1但不适用于5.1及更高版本.
代替 use [NSURL fileURLWithPath:path];
所以:[MyClass addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:path]];
事实上,我认为这是您的代码唯一的问题.采用我链接的方法,只提供向后兼容性,这是一个很好的补充.
希望这可以帮助.
问候,乔治
| 归档时间: |
|
| 查看次数: |
7240 次 |
| 最近记录: |