Основные данные и рекомендации по хранению данных iOS

У нас есть приложение с Core Data, а резервным хранилищем является база данных SQLite.

Он содержит критические данные (т.е. он должен быть всегда доступен в автономном режиме).

В настоящее время он хранится в каталоге "Документы" и поэтому отклоняется из-за Руководства по хранению данных iOS.

Решение, кажется, заключается в том, чтобы пометить его с помощью тега "не выполнять резервное копирование".

Однако я не видел никаких указаний по этому вопросу. то есть я должен вручную пометить этот файл как "не выполнять резервное копирование" или есть какая-либо опция Core Data, которую я должен включить?

2 ответа

Решение

Вам придется сделать это самостоятельно вручную, вот руководство

https://developer.apple.com/library/ios/ipad/

В 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.

Другие вопросы по тегам