我目前正在嘗試製作一個簡單的庫,以面向對象的方式訪問圖片元數據(沒有更多的字典)。我遇到了很多奇怪的bug:iPhone ImageIO不返回圖片的所有元數據
即使
kCGImagePropertyMakerMinoltaDictionary
,kCGImagePropertyMakerFujiDictionary
,kCGImagePropertyMakerOlympusDictionary
,kCGImagePropertyMakerPentaxDictionary
鍵定義,我編譯我的項目說,他們是不確定的,當得到一個錯誤:爲架構的ARMv7未定義的符號: 「_kCGImagePropertyMakerMinoltaDictionary」,從引用: - [SYMetadata metadataMakerMinolta]在SYMetadata.o LD:符號(多個)未找到架構的ARMv7
kCGImagePropertyExifBodySerialNumber
爲ImageIO/CGImageProperties.h
定義鍵太多,但在加載的iOS 5.1.1項目時,我得到一個錯誤說這是不可用:使dyld:找不到符號:_kCGImagePropertyExifBodySerialNumber 引用自:在/ var /移動/應用/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
,exis但不起作用。例如,我用尼康D3100拍攝了一張照片:當我用Mac上的預覽應用打開它時,我可以訪問尼康元數據,但是當我獲取iPhone上的所有按鍵和值時,我沒有這些信息。
我在Moutain Lion 10.8.2上運行XCode 4.5.2(上一次穩定構建AFAIK)。我嘗試編譯/在設備和模擬器上運行,結果相同。
因爲這將是一個公共圖書館,我已經擁有這一切在我的GitHub庫:https://github.com/dvkch/SYPictureMetadata
那些願意去發現其中的錯誤來自歡迎到玩的代碼,並提交推送請求的任何時間。
如果您有任何可能的想法,將非常感激!
Stan
所以,我有點困惑您的問題所寫。您是否將使用尼康D3100拍攝的文件移至iPhone上?我的意思是,沒有理由把這把鑰匙放在iPhone上拍攝的照片上 - 這不是尼康。 ?? – Dad
對不起,我試圖通過郵件轉移它,並且還使用了EyeFi卡。除非我使用NEF格式,否則這兩者都不起作用。 – dvkch
有趣..... – Dad