2015-06-29 11 views
5

Я застрял в этом пару дней. Я пытаюсь получить изображение в обратном направлении, но всегда получаю nil. Эти варианты, которые я использовал:requestImageDataForAsset возвращает нулевые данные изображения

let options = PHImageRequestOptions() 
      options.deliveryMode = .HighQualityFormat 
      options.resizeMode = .None 

Я также попытался с параметрами, установленными в nil без удачи. Это данные, которые я получил в информационном значении, переданном блоку.

[PHImageResultIsInCloudKey: 0, 
PHImageResultDeliveredImageFormatKey: 9999, 
PHImageFileURLKey: file:///var/mobile/Media/DCIM/100APPLE/IMG_0052.JPG, 
PHImageResultRequestIDKey: 84, 
PHImageResultIsDegradedKey: 0, 
PHImageResultWantedImageFormatKey: 9999, 
PHImageResultIsPlaceholderKey: 0, 
PHImageFileSandboxExtensionTokenKey: 
    64b47b046511a340c57aa1e3e6e07994c1a13853;00000000;00000000;0000001a;com.apple.app-sandbox.read;;00000000;00000000;0000000000000000;/private/var/mobile/Media/DCIM/100APPLE/IMG_0051.JPG] 

Я также попытался с помощью requestImageForAsset и я получил тот же результат. Я подумал, используя requestImageDataForAsset. Я получу больше контроля над данными.

Кроме того, я думал, что файл существует в облаке, но это не так, как установлено значение PHImageResultIsInCloudKey0; в противном случае я бы его загрузил.

Кстати, я могу получить меньшую версию изображения с предопределенным размером 200x200 внутри другого вида; однако, когда я пытаюсь получить более крупную версию, я получаю нуль. Я знаю, что изображение существует на телефоне с более высоким разрешением (я вижу его в приложении «Фотографии»)

Любая помощь будет оценена.

ответ

2

У меня была аналогичная проблема, и я попытался установить параметр networkAccessAllowed объекта PHImageRequestOptions на YES - это, казалось, исправить. Для меня проблема заключалась в том, что изображения были в облаке, так как изображения на камере камеры отлично работали, но в облаке не было.