2015-04-10 3 views
1

В настоящее время я работаю над проектом, который требует сохранения захваченных фотографий в Фотобиблиотеке. Я совершаю, что, используя следующий код:iOS Проверьте, присутствует ли изображение в библиотеке

self.library = [[ALAssetsLibrary alloc] init]; 
[self.library saveImage:imgResult toAlbum:bundleIDForAlbum withCompletionBlock:^(NSError *error) { 
      if (error!=nil) { 
       NSLog(@"Big error: %@", [error description]); 
      } 
     }]; 

Однако я не хочу, чтобы сохранить его в библиотеке, если изображение уже существует в нем.

Как -

if(! [self checkIfImageExists]) 
{ 
    self.library = [[ALAssetsLibrary alloc] init]; 
     [self.library saveImage:imgResult toAlbum:bundleIDForAlbum withCompletionBlock:^(NSError *error) { 
      if (error!=nil) { 
       NSLog(@"Big error: %@", [error description]); 
      } 
     }]; 
} 

Дать определение методы -

-(BOOL) checkIfImageExists 
{ 
    //What do I do here??? 
} 

Пожалуйста, см: Я ищу умное решение, а не поддерживать запись себя, написав его к локальным файлам с имя и сохранение другой записи о проверке того, какое имя файла уже сохранено в библиотеке.

EDIT

Изображения заполняются на одной из UIImagePickerController, а затем сохранить на щелчке кнопки Готово.

Если пользователь просматривает и добавляет еще одно изображение, есть 4 уже сохраненных изображения. И один новый. Я хочу, чтобы только новый был сохранен в библиотеке сейчас.

+1

Откуда берутся эти изображения, как это может быть дубликат? И кто говорит, что ваше предлагаемое решение не разумно? – Wain

+0

Проверьте изменение, я просто хочу знать, есть ли способ проверить, присутствует ли изображение в библиотеке. Я согласен, что мое решение не глупо, но я уверен, что должен быть лучший способ сделать это –

ответ

1

Я предполагаю, это невозможно.

Единственное, что вы можете попробовать, использовать SHA-1, который отображается как шестнадцатеричное число, 40 цифр для файла. В качестве альтернативы вы можете использовать MD5.

Создайте представление SHA-1 вашего imgResult, затем перечислите все изображения библиотеки фотографий и создайте представление SHA-1 для каждого сравнения.

У меня нет полной надежды, потому что местоположение, время и другие метаданные, которые будут сохраняться вместе с изображениями фотобиблиотеки, изменят содержимое двоичного файла, а результат SHA-1 будет отображаться на одном изображении.

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