gpt4 book ai didi

objective-c - iPhone ImageIO 不返回图片的所有元数据

转载 作者:太空狗 更新时间:2023-10-30 03:54:46 25 4
gpt4 key购买 nike

我目前正在尝试制作一个简单的库,用于以面向对象的方式(不再需要字典)访问图片元数据。我遇到了很多奇怪的错误:

  1. 即使定义了 kCGImagePropertyMakerMinoltaDictionarykCGImagePropertyMakerFujiDictionarykCGImagePropertyMakerOlympusDictionarykCGImagePropertyMakerPentaxDictionary 键,我也会得到一个编译我的项目时出错,说它们未定义:

    架构 armv7 的 undefined symbol : “_kCGImagePropertyMakerMinoltaDictionary”,引用自: -SYMetadata.o 中的[SYMetadata metadataMakerMinolta]ld: 未找到体系结构 armv7 的符号

  2. kCGImagePropertyExifBodySerialNumber 也是来自 ImageIO/CGImageProperties.h 的定义键,但是在 iOS 5.1.1 中加载项目时,我收到一条错误消息,指出它不是可用:

    dyld:找不到符号:_kCGImagePropertyExifBodySerialNumber 引用自:/var/mobile/Applications/0D8144E6-6313-4347-B503-247F5ACC0A11/ConnectTIG.app/ConnectTIG 预计在:/System/Library/Frameworks/ImageIO.framework/ImageIO 在/var/mobile/Applications/0D8144E6-6313-4347-B503-247F5ACC0A11/ConnectTIG.app/ConnectTIG

  3. Apple 有很多可能的元数据字典键可用,例如 kCGImagePropertyMakerNikonDictionary,它们存在但不起作用。例如,我有一张用我的尼康 D3100 拍摄的照片:当我在我的 mac 上使用预览应用程序打开它时,我可以访问尼康元数据,但是当我在 iPhone 上获取所有键和值时,我没有这些信息。

我在 Moutain Lion 10.8.2 上运行 XCode 4.5.2(最后一个稳定版本 AFAIK)。我尝试在设备和模拟器上编译/运行,结果相同。

因为这将是一个公共(public)图书馆,所以我已经在我的 github 存储库中拥有了所有内容:https://github.com/dvkch/SYPictureMetadata

欢迎那些愿意发现这些错误的来源的人随时尝试代码并提交推送请求。

如果您有任何可能的想法,我们将不胜感激!

斯坦

最佳答案

我相当确定 SDK 有问题。您遇到的错误是在 SDK 中定义但实际上并不存在的符号。我已经检查了您的项目,并且您已经在所有定义的地方包含了 ImageIO.framework,实际上所有其他键都可以正常工作。 kCGImagePropertyMakerNikonCameraSerialNumber 有效,但 kCGImagePropertyMakerMinoltaDictionary 无效。

如果您查看 CGImageProperties 文档的顶部,它会说该框架是“ApplicationServices/ImageIO”。这是不可能的,iOS 上不存在 ApplicationServices。本文档中至少有一个错误。很明显,他们已经逐字复制了 OSX 文档。

我肯定会就此问题和文档提交错误报告。

FWIW 在 OSX 上这些键(在 iOS 上可能相同)如下:

{MakerCanon}
{MakerNikon}
{MakerMinolta}
{MakerFuji}
{MakerOlympus}
{MakerPentax}

关于objective-c - iPhone ImageIO 不返回图片的所有元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13902105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com