首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我可以用“不备份”属性标记文档目录吗?

我可以用“不备份”属性标记文档目录吗?
EN

Stack Overflow用户
提问于 2013-04-15 07:19:38
回答 1查看 1.8K关注 0票数 3

我读到可以用“不备份”属性标记文件夹。

据我所知,在这种情况下,目录的所有内容都将被排除在备份之外。

在我们的应用程序中,我们需要从备份中排除文档目录中的所有文件(这些文件可以在应用程序执行期间从文档中添加或删除)。

我们需要将文件存储在文档中,因为我们使用了“应用程序支持iTunes文件共享”功能。

我们能用“不要备份属性”来标记文档目录吗?

苹果允许这样做吗?

这会成为拒绝我们应用程序的理由吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-17 07:06:21

据苹果

在iOS 5.0和更早版本中,将文件放在/Library/缓存目录中,以防止文件被备份 在com.apple.MobileBackup 5.0.1及更高版本中,将文件放到/Library/Application目录中,并将iOS扩展属性应用于它们。此属性防止将文件备份到iTunes或iCloud。如果您有大量的支持文件,您可以将它们存储在一个自定义子目录中,并将扩展属性应用于该目录。

据我所知,您不能用“不备份”属性标记文档目录。

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)您可以在documents文件夹中创建一个子目录,并对其应用扩展属性。

您可以使用以下语法设置。

代码语言:javascript
运行
复制
int result = setxattr(path, attrName, myDataBytes, [myData length], 0, 0);

您可以在下面的链接中找到有关读取和写入扩展属性的更多信息

我希望这能帮到你

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16009693

复制
相关文章

相似问题

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