1

ALAssetRepresentation がメタデータの詳細を適切にリストしていない。つまり、画像のメタデータを取得しようとすると、以下のようにいくつかの詳細しか返されない

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 アプリやオンラインの exif データ エクストラクタで確認すると、同じ画像の詳細が表示され、ISOSpeedRatings、FocalLength、LensModel などから必要なものが得られます。

asset.defaultRepresentation.metadata でこれらの詳細を取得できないのはなぜですか? 誰もこれについて手がかりを持っていますか?

    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);

iOS で利用可能な代替アプローチはありますか?

アップデート

私は問題を見つけたと思います。実際、メタデータを取得できなかった UIImagePickerController デリゲートで試してみました。しかし、サーバーから直接ダウンロードした同じ画像のコピーを試してみたところasset.defaultRepresentation.metadata、実際のメタデータが返されました。したがって、ここで問題が実際に発生するのは、UIImagePickerController を使用してフォト ライブラリから選択した画像で、exif データが失われた場所です。

これは UIImagePickerController のデフォルトの動作ですか?

4

0 に答える 0