Изображение, не возвращенное didFinishPickingMediaWithInfo: - PullRequest
2 голосов
/ 17 ноября 2011

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

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

    NSLog(@"info: %@", info);
}

Журнал iPhone и iPhone-симулятора (оригинальное изображение существует):

info: {
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x6b6b4e0>";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=39D9190B-064F-4C80-9B93-B4CA4FE01B22&ext=JPG";
}

Журнал iPad и iPad-симулятора (режим совместимости): (нет исходного изображения!)

 info: {
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=72AF462A-A8CE-4474-9535-B59A3154087D&ext=JPG";
}

Есть идеи, почему это происходит?Мне действительно нужно изображение iPad.

Я попытался получить изображение из библиотеки ресурсов (я делаю это правильно?), Но изображение пустое.

NSURL *imageSource = [info objectForKey:UIImagePickerControllerReferenceURL];
UIImage *image1 = [[UIImage alloc] initWithContentsOfFile:[imageSource absoluteString]];

Спасибо за любые предложения.

РЕДАКТИРОВАТЬ: Я пытался создать приложение в симуляторе iPad 4.3.Здесь нет проблем с поиском изображения - оригинальное изображение существует в информационном словаре.Есть ли другой способ сделать это в IOS 5?

1 Ответ

0 голосов
/ 18 ноября 2011

Если вы уверены, что на iPad есть изображение, это звучит как ошибка.

Но так как вы можете получить ссылочный URL, вы можете использовать ALAsset API для получения изображения.

извините, это должно быть ALAssets.

Для справки:


- (void)assetForURL:(NSURL *)assetURL resultBlock:(ALAssetsLibraryAssetForURLResultBlock)resultBlock failureBlock:(ALAssetsLibraryAccessFailureBlock)failureBlock

это метод ALAssetsLibrary.

Более подробно вы можете проверитьдокумент от Apple.

...