照片框架 - 如何从PHAsset获取图像的CLLocation?

时间:2014-11-08 05:40:08

标签: swift location photosframework phasset

我能够从PHFetchResults成功获取图像并将其加载到UIImage中,但是当我尝试获取图像的位置时,我收到错误:

  
      
  • "致命错误:在展开可选值时意外发现nil"在运行时的NSLog语句中。
  •   
var imageAsset:PHAsset = self.photosAssetFetchResult[self.index] as PHAsset
NSLog("Location is %@", imageAsset.location)

如果我用以下语句替换上面的NSLog语句来获取描述(或任何其他属性,如Length,Pixel Dimension等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;
}]

请告知。

1 个答案:

答案 0 :(得分:0)

这是一个真正的错误。我使用的资产没有位置。完全相同的代码适用于iPhone 4和iPhone 6拍摄的照片。