Оказывается, на самом деле это не так сложно сделать.В методе UIImagePickerDelegate:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
NSDictionary «info» фактически содержит URL-адрес изображения или фильма, который хранится в «Фотопленке».Вам нужно только проверить:
if([[info valueForKey:UIImagePickerControllerMediaType] isEqualToString:(NSString *)kUTTypeMovie]){ // If the user took a video,
movieURL = [[info valueForKey:UIImagePickerControllerMediaURL] retain];// Get the URL of where the movie is stored.
UISaveVideoAtPathToSavedPhotosAlbum([movieURL path], nil, nil, nil); // Save the movie to the photo album.
}
, и это сохранит фильм в Camera Roll, а также запишет URL.Выполнение этого для фотографии аналогично, просто замените «kUTTypeMovie» на «kUTTypeImage» и замените
movieURL = [[info valueForKey:UIImagePickerControllerMediaURL] retain];// Get the URL of where the movie is stored.
UISaveVideoAtPathToSavedPhotosAlbum([movieURL path], nil, nil, nil); // Save the movie to the photo album.
на
UIImage * image = [info valueForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
Если вам нужно сохранить UIImage не наCamera Roll, есть отличная статья о stackoverflow Сохранение UIImage с NSCoding , которую можно использовать для хранения изображения в вашем приложении.Надеюсь, это кому-нибудь поможет!