0

我们有一个带有 Core Data 的应用程序,后备存储是一个 SQLite 数据库。

它包含关键数据(即它需要始终离线可用)。

它当前存储在 Documents 目录中,因此由于 iOS 数据存储指南而被拒绝。

解决方案似乎是使用“不备份”标签对其进行标记。

但是,我还没有看到任何关于这方面的指导方针。即我应该手动将此文件标记为“不备份”还是应该启用一些核心数据选项?

4

2 回答 2

1

你必须自己手动完成,这里是指南

https://developer.apple.com/library/ios/ipad/#qa/qa1719/_index.html

于 2012-04-23T18:52:54.127 回答
0

在 iOS 5.1 或更高版本中,最好使用 newNSURLIsExcludedFromBackupKeykCFURLIsExcludedFromBackupKeyfile 属性,而不是setxattr(iOS 5.0.1 compatible)

- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);

    NSError *error = nil;
    BOOL 成功 = [URL setResourceValue:[NSNumber numberWithBool:YES]
                                  forKey:NSURLIsExcludedFromBackupKey
                                   错误:&错误];
    如果(!成功){
        NSLog(@"从备份 %@ 中排除 %@ 的错误", [URL lastPathComponent], error);
    }
    返回成功;
}

有关详细信息,请参阅iOS 应用程序编程指南的“应用程序备份最佳实践”部分

于 2012-04-23T19:58:40.267 回答