首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防止备份到iCloud,以下代码是否正确?

防止备份到iCloud,以下代码是否正确?
EN

Stack Overflow用户
提问于 2011-12-19 15:29:53
回答 2查看 3.2K关注 0票数 3

我正在下载许多音频和视频文件,并将它们存储在我的Home目录中。现在我想“防止备份到iCloud”,所以我为我的每个文件的url添加了以下代码

代码语言:javascript
运行
复制
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL

{

    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;

}

谁能告诉我,这个代码会工作在所有的IOS版本。如果不是,请建议正确的方法。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-19 19:28:45

谁能告诉我,这个代码是否适用于所有IOS版本。

不,没有。苹果公司在其Technical Note introducing the "do not backup" flag中明确指出

只有iOS 5.0.1或更高版本才能使用新的“不备份”属性。

它们还告诉您对于较旧的iOS版本需要执行的操作:

在iOS 5.0及更早版本上,应用程序需要将其数据存储在<Application_Home>/Library/Caches中,以避免备份数据。由于此属性在较旧的系统上会被忽略,因此您需要确保您的应用程序符合您的应用程序支持的所有版本的iOS数据存储指南。

票数 7
EN

Stack Overflow用户

发布于 2013-07-18 20:23:34

您可以将此代码用于iOS 5.1或更高版本

代码语言:javascript
运行
复制
- (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;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8558315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档