我目前正在尝试制作一个简单的库,用于以面向对象的方式访问图片元数据(不再有字典)。我遇到了很多奇怪的错误:
即使定义了
kCGImagePropertyMakerMinoltaDictionary
,kCGImagePropertyMakerFujiDictionary
,kCGImagePropertyMakerOlympusDictionary
,kCGImagePropertyMakerPentaxDictionary
键,在编译我的项目时我也会收到一个错误,说它们是未定义的:架构 armv7 的未定义符号:“_kCGImagePropertyMakerMinoltaDictionary”,引用自:SYMetadata.old 中的-[SYMetadata metadataMakerMinolta]:未找到架构 armv7 的符号
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 in /var /mobile/Applications/0D8144E6-6313-4347-B503-247F5ACC0A11/ConnectTIG.app/ConnectTIG
Apple 有很多可能的元数据字典键可用,例如
kCGImagePropertyMakerNikonDictionary
,它们存在但不起作用。例如,我用我的 Nikon D3100 拍摄了一张照片:当我在我的 Mac 上使用 Preview 应用程序打开它时,我可以访问 Nikon 元数据,但是当我在 iPhone 上获取所有键和值时,我没有这些信息。
我在 Moutain Lion 10.8.2 上运行 XCode 4.5.2(最后一个稳定版本 AFAIK)。我尝试在设备和模拟器上编译/运行,结果相同。
由于这将是一个公共图书馆,我已经在我的 github 存储库中拥有了所有内容:https ://github.com/dvkch/SYPictureMetadata
欢迎那些愿意发现这些错误从何而来的人来玩代码并随时提交推送请求。
如果您有任何可能的想法,将不胜感激!
斯坦