Я пытаюсь закодировать функцию восстановления на основе жесткого диска в существующее демонстрационное фото-приложение для устройств iOS. Идея состоит в том, чтобы позволить пользователям восстанавливать последние примененные эффекты и все, даже после перезапуска приложения/неожиданного сбоя и т. д.
Я сохраняю один файл изображения (последние примененные к нему эффекты) в NSCachesDirectory:
NSData* data = UIImagePNGRepresentation(image);
[data writeToFile:[self getFileAtIndex:getPath] atomically:YES];
При переходе к опции восстановления файл, сохраненный по этому пути, восстанавливается с помощью:
image = [[UIImage imageWithContentsOfFile:[self getFileAtIndex:getPath]]retain];
Код отлично работает на моем тестовом устройстве (iPhone 4s). Но почему-то я сомневаюсь, что это лучшая практика для кодирования функции восстановления.
Переходя к реальному приложению, если что-то хранилось в NSCachesDirectory, как вы думаете, будет ли резервное копирование в iCloud? Есть ли вероятность конфликта с другими приложениями?
Как именно управляется каталог NSCachesDirectory для одновременного доступа к нему нескольких приложений?
Я хотел бы знать лучшую практику для этого.
Пожалуйста, помогите / прокомментируйте.