iphone and thumbs.db
iphone용 어플리케이션이 폰에 설치가 안되는 문제로 꽤나 닭질을 한 끝에 범인이 thumbs.db 파일인 것으로 밝혀졌다. 현상이 특이하게 나타났는데,
  • 특정 어플리케이션이 특정 폰에만 설치가 안된다
  • 문제의 어플리케이션이 다른 폰에는 잘 설치된다
  • 문제의 폰에 다른 어플리케이션은 잘 설치된다
어플리케이션 자체가 문제인 것도 아니고, 그렇다고 폰에 문제가 있는 것도 아닌 아주 이상한 경우였다. 문제가 있는 어플리케이션과 문제 없는 어플리케이션의 빌드 옵션을 비교해서 모든걸 일일이 다 맞춰줘도 문제가 해결되지 않았다.

설치가 안될때 에러 메시지는 "Could not install application on device. Error: kAMDApplicationVerificationFailedError" 혹은 설치된 후에 실행할 수 없다고 나왔다. kAMDApplicationVerificationFailedError 라는 단어로 검색하면 이 에러때문에 미치겠다는 twitter 글 하나가 유일하다. (이제 이 글이 두번째 글이 되겠지)

두 어플리케이션이 설치된 디렉토리를 비교해보니 하나에는 thumbs.db 라는 파일이 있다는 차이가 있었는데, 처음에는 무시하고 넘어갔다. thumbs.db가 hidden 파일이라 찾을 수 없었던 것도 이유였고. 갖은 닭질 끝에 다시 thumbs.db로 돌아왔다.
dir /A 라고 하니 이 hidden 파일이 보인다. del /A thumbs.db 로 지웠다. 그리고 나서 설치하니 성공.

thumbs.db 파일은 windows에서 기본적으로 사용하는 이미지 캐쉬 파일이다. 이미지가 들어있는 폴더를 열면 이미지를 아이콘으로 만들고나서 이 캐쉬파일을 만든다. 폴더를 열지 않아도 이 폴더를 검사해보고 조건에 맞으면 캐쉬파일을 만들고 폴더 아이콘에 4개의 이미지를 미리 보여준다. 조건이 정확히 어떻게 되는지는 알수 없는데, 대략 jpg나 gif 처럼 미리보기 가능한 이미지의 비율이 얼마나 되느냐로 결정하는 듯 보인다. 어쨌든 이것 때문에 어떤 어플리케이션 폴더에는 캐쉬파일이 생기고 어떤 어플리케이션 폴더에는 캐쉬파일이 안생기고 했던 것이다.

thumbs.db라는 캐쉬 파일이 추가되면 iTunes로 iphone에 어플리케이션을 설치할때 인증되지 않은 파일이 들어있다는 이유로 에러가 나게 된다. 폴더에 제멋대로 히든 파일을 만들어놓는 일은 여러 가지 문제를 발생시킬 수 있다. 그래서 그런지 thumbs.db로 검색해보면 이 파일을 지우는 방법에 대한 글이 대부분이다. OS가 이런 짓은 좀 하지 말아줬으면 좋겠다.
by conanoc | 2009/04/08 16:21 | Programming | 트랙백 | 덧글(1)
트랙백 주소 : http://conanoc.egloos.com/tb/4907586
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by icehan at 2009/04/09 02:07
수고 많으셨습니다.

이녀석 덕분에, 이미지 파일명을 변경해도 다시 원복이 되는 경우도 있더군요.
저도 반나절 가량 삽질했었지요.

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >