5

私は現在、オブジェクト指向の方法で画像メタデータにアクセスするための単純なライブラリを作成しようとしています(辞書はもうありません)。私はたくさんの奇妙なバグに遭遇しました:

  1. 、、、キーが定義されている場合でもkCGImagePropertyMakerMinoltaDictionary、プロジェクトのコンパイル時kCGImagePropertyMakerFujiDictionarykCGImagePropertyMakerOlympusDictionarykCGImagePropertyMakerPentaxDictionaryキーが未定義であるというエラーが発生します。

    アーキテクチャarmv7の未定義のシンボル: "_ kCGImagePropertyMakerMinoltaDictionary"、参照元:-SYMetadata.oの[SYMetadatametadataMakerMinolta] 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 in / var /mobile/Applications/0D8144E6-6313-4347-B503-247F5ACC0A11/ConnectTIG.app/ConnectTIG

  3. Appleには、たとえば、存在しているが機能していない可能性のあるメタデータ辞書キーが多数ありますkCGImagePropertyMakerNikonDictionary。たとえば、Nikon D3100で撮影した写真があります。Macのプレビューアプリで開くと、Nikonメタデータにアクセスできますが、iPhoneですべてのキーと値を取得すると、これらの情報がありません。

Moutain Lion10.8.2でXCode4.5.2(最後の安定したビルドAFAIK)を実行しています。デバイスとシミュレータでコンパイル/実行してみましたが、同じ結果になりました。

これはパブリックライブラリになるので、私はすでにすべてをgithubリポジトリに持っています:https ://github.com/dvkch/SYPictureMetadata

それらのバグがどこから来ているのかを発見することをいとわない人は、いつでもコードをいじってプッシュリクエストを送信することを歓迎します。

あなたが可能な考えを持っているならば、それは非常にありがたいです!

スタン

4

1 に答える 1

1

SDKに何か問題があると確信しています。発生するエラーは、SDKで定義されているが、実際には存在しないシンボルです。私はあなたのプロジェクトをチェックしました、そしてあなたはそれらがすべて定義されているImageIO.frameworkを含めました、そして実際に他のすべてのキーはうまく働きます。kCGImagePropertyMakerNikonCameraSerialNumberは機能しますが、kCGImagePropertyMakerMinoltaDictionaryは機能しません。

CGImagePropertiesのドキュメントの上部を見ると、フレームワークは「ApplicationServices/ImageIO」であると記載されています。これは不可能です。ApplicationServicesはiOSには存在しません。このドキュメントにはすでに少なくとも1つのエラーがあります。明らかに、彼らはOSXドキュメントを逐語的にコピーしました。

私は間違いなくこの問題とドキュメントに関するバグレポートを提出したいと思います。

OSXのFWIWこれらのキー(iOSでも同じである可能性が高い)は次のとおりです。

{MakerCanon}
{MakerNikon}
{MakerMinolta}
{MakerFuji}
{MakerOlympus}
{MakerPentax}
于 2013-01-03T02:02:22.163 に答える