Лучшее место для хранения контента приложений

У меня есть приложение, которое работает с большим количеством данных (в основном изображений), которые загружаются с нашего сервера и должны быть доступны без подключения к Интернету.

Я имел обыкновение хранить их в <Application_Home>/Library/Caches каталог, но после процесса обновления iOS все они были удалены. Такое поведение для меня неприемлемо, и теперь я ищу лучшее место, где я могу хранить данные и быть уверенным, что они не будут удалены системой.

Как лучше всего хранить данные такого рода?

2 ответа

Каталог caches - это то, что подразумевается под именем, как кеш. Кэши можно очистить, и вы действительно должны повторно загрузить изображения. Каталог документов - лучшее место для хранения этих изображений, но вы должны сохранить их, пропустив резервную копию ключа iCould в файле.

Просто маленький совет, всегда используйте либо URLForDirectory:inDomain:appropriateForURL:create:error: или же NSSearchPathForDirectoriesInDomains

Только данные в каталоге документов не удаляются iOS:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

Данные в документах синхронизируются с iCloud. Если у вас их много, вам нужно отключить эту опцию:

[urlOfImage setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error];
Другие вопросы по тегам