최초 작성일 : 2010/05/21 11:11 


현재 개발하고 있는 앱에서 사진을 찍거나 포토 라이브러리에서 사진을 가져와

사진에 포함된 Exif 정보의 일부를 표시해주는 기능을 구현하고자 하였다.

그래서 iphone-exif라는 jpeg 이미지의 Exif 정보를 추출하는 라이브러리를 찾아
적용하기 위해 문서에 적힌대로 코드를 추가하고 실행을 시켜보았으나 사진의
방향을 제외한 모든 Exif 정보 및 GPS 정보가 null값으로 출력되는 것이다.

내가 뭔가 라이브러리를 잘못 적용시켰나?
아니면 라이브러리에 뭔가 버그가 있나?
이 것을 확인하는데 근 1주일이 지나가버렸다.

그런데...아뿔싸...
애플에서는 개발자들이 개발한 앱에서 아이폰에서 찍은 사진의 Exif 정보를
제공하지 않는 것이었다.

보통 UIImagePickerController를 통해 아이폰의 카메라 앱을 불러와 사진을

찍던가 아니면 포토 라이브러리를 불러와 이미 찍은 사진을 사용할 수 있도록

한다. 그런데 이 UIImagePickerController는 Exif 정보를 제외한 이미지 정보만을

제공한다는 것이다.


다음은 관련 글타래의 링크이다.


http://stackoverflow.com/questions/1238838/uiimagepickercontroller-and-extracting-exif-data-from-existing-photos/1720783


간혹 아이폰에서 Exif 정보를 다루는 앱이 있었던 모양인데

이 앱들은 직접 아이폰 사진 앱의 디렉토리(/private/var/mobile/Media/DCIM/100APPLE/)를 참조하여

원본 파일로부터 이미지의 Exif 정보를 가져오는 것으로 판단되며

이는 애플의 Sand-Box 정책으로 타 애플리케이션의 문서나 데이터에

접근 불가능하다는 원칙을 위배하는 것이라서 사용을 하더라도 승인

거부당할 소지가 있는 부분이라고 한다.


따라서 현재 아이폰에서 찍은 사진의 Exif 정보를 불러다 사용하는 아이폰 앱의

활용은 거의 불가능하다고 보아야 할 것이며 다만 iphone-exif같은 라이브러리는

외적으로 얻을 수 있는 정보들(날짜, GPS 정보 등)을 현재 찍은 사진에

추가시키는 용도 정도로 활용에 제약이 있을 것 같다.


다만 아이폰 OS 4.0의 베타버전과 함께 배포되는 아이폰 SDK의 새버전에

포함된 문서에 보면  kCGImagePropertyExif와 kCGImagePropertyGPS로 시작되는 상수들의

정의가 설명되어있고 OS4.0 이후에 사용 가능하다는 설명이 붙어있는 것으로

보아 OS4.0부터는 별다른 외부 라이브러리 없이 이미지의 Exif 정보를

활용할 수 있을 것으로 보인다.

블로그 이미지

마즈다

이미 마흔을 넘어섰지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^