Получить URL-адрес изображения, снятого на лету и сохраненного в галерее, как? - PullRequest
3 голосов
/ 11 мая 2011

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

Когда пользователь выбирает изображение из галереи, я могу использовать

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {


    if([[info valueForKey:@"UIImagePickerControllerMediaType"] isEqualToString:@"public.image"]) {
           NSURL *imageUrl = [info valueForKey:@"UIImagePickerControllerReferenceURL"];

}

}

Вместо этого, если пользователь делает фотографию на лету, я сохраняю ее в фотопленке с:

  UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

  UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

После сохранения я должен получить соответствующий NSURL, как его выбрал пользователь.

Как я мог это сделать?

EDIT

Моя проблема не в изображении, выбранном из галереи. Мне удалось получить URL-адрес, используя путь UIImagePickerControllerReferenceURL. Моя проблема, когда пользователь делает фотографию с помощью камеры. Я могу написать это в фотопленке, но я должен найти способ автоматически выбрать его так, чтобы

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

вызывается снова, и я могу использовать ключ UIImagePickerControllerReferenceURL для получения соответствующего URL.

...