我能够从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;
}]
请告知。
答案 0 :(得分:0)
这是一个真正的错误。我使用的资产没有位置。完全相同的代码适用于iPhone 4和iPhone 6拍摄的照片。