2015-06-25 3 views
0

Я выпустил приложение, которое может редактировать некоторые изображения и сохранять их в собственном приложении (я имею в виду: он не сохраняется в камере). Спустя некоторое время я выпустил версию 2.0 приложения, и пользователи жаловались, что процесс обновления удалил сохраненные фотографии.Обновление приложения удаляет сохраненные фотографии

вытекает часть моего кода, где сохраняются картинки:

NSData *dataFromPNG = UIImagePNGRepresentation(image); 
NSString *mainPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingString:@"/SavedData"]; 
NSString *directory = [mainPath stringByAppendingPathComponent:[NSString stringWithFormat:@"image(%d).png", imageIndex]]; 
[dataFromPNG writeToFile:directory atomically:YES]; 

Где моя ошибка?

Я не знаю, достаточно ли размещенной информации. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Благодарю.

+0

Возможно, «imageIndex» или что-то другое, кроме самих файлов изображений. – stevesliva

ответ

0

Как вы рассчитываете свой imageIndex? Я думаю, проблема есть. Если они сохранили 10 изображений с последней версией, то вы рассчитываете последний индекс с новой версией? Я думаю, вы переписываете изображения, поэтому кажется, что обновление удаляется. Это было предположение с кодом, который вы предоставили. Попробуйте это, и если это не решение, укажите свой код для расчета imageIndex. Это может помочь вам

+0

Когда приложение открыто, система считывает все сохраненные изображения, помещает их в UICollectionView и подсчитывает количество изображений. Итак, когда пользователь создает новое изображение, indexPicture - это количество изображений + 1. –

+0

Где вы храните файлы? NSCachesDirectory или NSDocumentDirectory? Проверьте эту ссылку: http://stackoverflow.com/questions/6879860/when-are-files-from-nscachesdirectory-removed – Bhanupriya

+0

Я не знаю, как ответить на него. В соответствии с этой строкой моего кода: 'NSString * mainPath = [[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0] stringByAppendingString: @"/SavedData "];', я считаю, что использую NSDocumentDirectory. –

Смежные вопросы