2014-11-08 41 views
1

我能够从PHFetchResults成功抓取图像并将其装载到UIImage的很好,但是当我尝试获取图像的位置,我得到错误:照片框架 - 如何从PHAsset获取CLLocation图像?

  • "fatal error: unexpectedly found nil while unwrapping an Optional value" at NSLog statement during runtime.
var imageAsset:PHAsset = self.photosAssetFetchResult[self.index] as PHAsset 
NSLog("Location is %@", imageAsset.location) 

如果我取代以上NSLog语句下面的语句获取描述(或任何其他属性,如长度,像素尺寸等NSLog返回它正确)它不会抛出错误。

NSLog("Description is %@", imageAsset.Description) 

我尝试使用PHImageManger.requestImageDataForAsset等我得到许多其他属性如下,但位置。

[{Exif}: { 
    ColorSpace = 1; 
    ComponentsConfiguration =  (
     1, 
     2, 
     3, 
     0 
    ); 
    ExifVersion =  (
     2, 
     2, 
     1 
    ); 
    FlashPixVersion =  (
     1, 
     0 
    ); 
    PixelXDimension = 1280; 
    PixelYDimension = 960; 
    SceneCaptureType = 0; 
}, ColorModel: RGB, DPIWidth: 72, Depth: 8, Orientation: 1, DPIHeight: 72, PixelHeight: 960, PixelWidth: 1280, {TIFF}: { 
    Orientation = 1; 
    ResolutionUnit = 2; 
    XResolution = 72; 
    YResolution = 72; 
}] 

请指教。

回答

0

这是一个真正的错误。我使用的资产没有位置。与iPhone 4和iPhone 6拍摄的照片完全相同的代码可以很好地工作。

相关问题