Лучшее место для хранения контента приложений
У меня есть приложение, которое работает с большим количеством данных (в основном изображений), которые загружаются с нашего сервера и должны быть доступны без подключения к Интернету.
Я имел обыкновение хранить их в <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];