ALAssetRepresentation未正确列出元数据详细信息i,当我尝试获取图像元数据时,它只返回以下几个细节
AlwaysVisibleControl
但是当我查看其他iOS应用程序和在线exif数据提取器时,我可以看到有关同一图像的更多细节,我想要的是ISOSpeedRatings,FocalLength,LensModel等。
为什么我没有通过asset.defaultRepresentation.metadata获取这些详细信息?有人对此有任何线索吗?
2015-06-25 10:15:22.134 Phokl copy[1394:607] {
ColorModel = RGB;
DPIHeight = 72;
DPIWidth = 72;
Depth = 8;
Orientation = 1;
PixelHeight = 1250;
PixelWidth = 834;
"{Exif}" = {
ColorSpace = 1;
ComponentsConfiguration = (
1,
2,
3,
0
);
ExifVersion = (
2,
2,
1
);
FlashPixVersion = (
1,
0
);
PixelXDimension = 834;
PixelYDimension = 1250;
SceneCaptureType = 0;
};
"{TIFF}" = {
Orientation = 1;
ResolutionUnit = 2;
XResolution = 72;
YResolution = 72;
};
iOS中是否有其他替代方法?
更新
我想,我发现了这个问题。实际上,我尝试使用UIImagePickerController委托,但我没有获取元数据。但是,我尝试使用直接从服务器下载的相同图像的副本,现在 ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library assetForURL:info[UIImagePickerControllerReferenceURL] resultBlock:^(ALAsset *asset) {
// get imagePropertiesDictionary
NSDictionary *imagePropertiesDictionary;
imagePropertiesDictionary = asset.defaultRepresentation.metadata;
// get exif data
NSLog(@"%@",imagePropertiesDictionary);
返回实际的元数据。所以这里的问题实际上是使用UIImagePickerController从照片库中选择的图像,其中exif数据丢失了。
这是UIImagePickerController的默认行为吗?