Основные данные и рекомендации по хранению данных iOS
У нас есть приложение с Core Data, а резервным хранилищем является база данных SQLite.
Он содержит критические данные (т.е. он должен быть всегда доступен в автономном режиме).
В настоящее время он хранится в каталоге "Документы" и поэтому отклоняется из-за Руководства по хранению данных iOS.
Решение, кажется, заключается в том, чтобы пометить его с помощью тега "не выполнять резервное копирование".
Однако я не видел никаких указаний по этому вопросу. то есть я должен вручную пометить этот файл как "не выполнять резервное копирование" или есть какая-либо опция Core Data, которую я должен включить?
2 ответа
Вам придется сделать это самостоятельно вручную, вот руководство
В iOS 5.1 или новее лучше использовать новый NSURLIsExcludedFromBackupKey
или же kCFURLIsExcludedFromBackupKey
свойство файла, а не setxattr
(iOS 5.0.1 совместимый).
- (BOOL) addSkipBackupAttributeToItemAtURL: (NSURL *) URL { assert ([[NSFileManager defaultManager] fileExistsAtPath: [URL-путь]]); NSError *error = nil; BOOL success = [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey Ошибка:& ошибка]; если (! успех){ NSLog(@"Ошибка, исключающая%@ из резервной копии%@", [URL lastPathComponent], ошибка); } вернуть успех; }
Дополнительные сведения см. В разделе "Рекомендации по резервному копированию приложений" Руководства по программированию приложений для iOS.