Как сохранить и перезагрузить изображение с помощью ALAsset?

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

Я знаю, что было несколько обсуждений по этому поводу, но, как ни странно, ни один из Ansers не помог мне …

Итак, вот мой код для сохранения изображения:

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { ALAssetsLibrary * library = [[ALAssetsLibrary alloc] init]; UIImage * image; // Request to save Image if ([picker sourceType] == UIImagePickerControllerSourceTypeCamera) { image = [info objectForKey:UIImagePickerControllerEditedImage]; [library writeImageToSavedPhotosAlbum:[image CGImage] orientation:(ALAssetOrientation)[image imageOrientation] completionBlock:^(NSURL * assertURL, NSError * error){ if (error) { UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"PictureSaveErrorTitle", @"Title if saving picture fails") message:NSLocalizedString(@"PictureSaveErrorMessage", @"Message if saving picture fails") delegate:nil cancelButtonTitle:NSLocalizedString(@"PictureSaveErrorOK", @"OK if saving picture fails") otherButtonTitles:nil]; [alert show]; } else { [self setUserImage:[assertURL absoluteString]]; [imageOfDevice setImage:image]; } }]; } else { image = [info objectForKey:UIImagePickerControllerOriginalImage]; [self setUserImage:[[info valueForKey:UIImagePickerControllerReferenceURL] path]]; } [self dismissModalViewControllerAnimated:YES]; } 

И это для перезагрузки Image:

 if (userImage != nil) { ALAssetsLibrary * library = [[ALAssetsLibrary alloc] init]; [library assetForURL:[NSURL fileURLWithPath:userImage] resultBlock:^(ALAsset * asset){ [imageOfDevice setImage:[UIImage imageWithCGImage:[asset thumbnail]]]; } failureBlock:^(NSError * error){ NSLog(@"cannot get image - %@", [error localizedDescription]); }]; } 

Кто-нибудь видит какую-либо ошибку?

Спасибо за помощь,

sensslen

One Solution collect form web for “Как сохранить и перезагрузить изображение с помощью ALAsset?”

Простое решение состоит в том, что вы передаете в absoluteString вместо NSUrl.

Этот код работает для меня внутри сборщика.

 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; if( [picker sourceType] == UIImagePickerControllerSourceTypeCamera ) { UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; [library writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock:^(NSURL *assetURL, NSError *error ) { NSLog(@"IMAGE SAVED TO PHOTO ALBUM"); [library assetForURL:assetURL resultBlock:^(ALAsset *asset ) { NSLog(@"we have our ALAsset!"); } failureBlock:^(NSError *error ) { NSLog(@"Error loading asset"); }]; }]; } 
  • Рабочая область xcodebuild
  • Может ли кто-нибудь сказать мне, что означают эти вопросительные знаки в окне моего навигатора? (Xcode 4.2)
  • Ошибка подачи / предупреждения о недопустимом сигнале в Xcode 4.2
  • Как удалить строку состояния в «приложении на основе представления» - iOS
  • Как зарегистрировать схему URL-адреса для открытия приложения с помощью Xcode 4?
  • Создание Xcode, но не запуск на устройстве
  • Как вы можете создать пользовательский объект в палитре объектов Interface Builder?
  • Где хранятся синтезированные ивары?
  • Проект Xcode iOS показывает только «Мой Mac 64-бит», но не симулятор или устройство
  • -temp-caseinsensitive-rename в Bundle Identifier
  • Проблема с редактором модели ядра Xcode4
  • Interesting Posts

    iOS 7 UINavigationbar setTranslucent: NO сбой приложений

    h2 элементы все сгруппированы вверх по изображению на iOS и Firefox

    как предотвратить задержку или прерывание NSTimer действиями пользовательского интерфейса в iOS 5

    AVFoundation AVMutableComposition – видео со звуком – замораживает видео

    Увеличить изображение, используя автоматическую компоновку в прокрутке. Как центрировать?

    UIWebView: отключить опции копирования / выреза для текстового редактора

    Копирование раскадровки по классам размера

    Как обратный вызов C возвращает объект Objective-C с помощью указателя userdata?

    Передача данных между контроллером вида segue

    AutoLayout, ограничения, iPhone 3,5 дюйма и 4 дюйма

    HTML5 Safari iOS доступ только для камеры, а не для библиотеки фотографий

    xcode 4.5, размер представления не редактируется в построителе интерфейса

    Почему ubiquityIdentityToken всегда ноль?

    Геогеография полигонов с iOS

    Импорт моего одноэлементного класса с использованием Project_Prefix.pch – Плохая практика?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.