美文网首页
不让iCloud 和 iTunes同步沙盒里指定文件

不让iCloud 和 iTunes同步沙盒里指定文件

作者: 薛定喵的鹅 | 来源:发表于2017-02-22 17:28 被阅读192次

iOS沙盒Documents目录下的文件默认会被iCloud 和 iTunes同步。可以通过代码指定某个文件或者文件夹不被同步。

iOS5.1及以后可以使用如下代码

- (BOOL)addjianshuSkipBackupAttributeToItemAtPath:(NSString *) filePathString
{
    NSURL* URL= [NSURL fileURLWithPath: filePathString];
    assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
 
    NSError *error = nil;
    BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
                                  forKeyjianshuRLIsExcludedFromBackupKey error: &error];
    if(!success){
        NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
    }
    return success;
}

iOS5.0.1

#import <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *) filePathString
{
    assert([[NSFileManager defaultManager] fileExistsAtPath: filePathString]);
 
    const char* filePath = [filePathString 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;
}

相关文章

网友评论

      本文标题:不让iCloud 和 iTunes同步沙盒里指定文件

      本文链接:https://www.haomeiwen.com/subject/mvtbittx.html