Prevent iCloud Backup of Folder

倖福魔咒の 提交于 2020-01-02 18:03:07

问题


I recently got rejected for my NSLibraryDirectory backing up wrong kind of data to iCloud. I am trying to prevent the entire directory from backing up to iCloud, as this directory doesn't contain anything but downloaded content. Would this code in the AppDelegate.m work?

- (NSString *)applicationDocumentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

   NSURL *pathURL= [NSURL fileURLWithPath:documentsDirectory];
[self addSkipBackupAttributeToItemAtURL:pathURL];
return documentsDirectory;

}

- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL

{ if (NSURLIsExcludedFromBackupKey) {
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);



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;
}
else {
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);



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;
}

}

来源:https://stackoverflow.com/questions/10866590/prevent-icloud-backup-of-folder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!