이번에 아이콘 변경작업을 하면서 많은 일이 생긴것 같다. 이번 기회에 제대로 당한듯 ㅠㅠ


보통 아이콘 설정에는 

Icon file
CFBundleIconFiles

두 항목에서 설정할 수 있다.
이번에 아이콘을 변경하면서 위 두항목을 모두 변경하고 난 뒤 앱스토어에 등록을 하였는데 오류가 발생하여 거절당했다
원인은 CFBundleIconFile 부분에 디렉토리 명을 삽입하였는데 그 부분이 문제였다.

아이콘 파일이 많아 resource 디렉토리 밑에 디렉토리를 하나 생성하여 넣은 후 프로젝트에 추가를 시켜 놓았는데 상대 경로로 입력해야 되는 걸로 알고 디렉토리명을 넣었다가 오류가 난것이였다(하지만 시뮬레이터와 디바이스에 테스트 할땐 제대로 돌아간다!!!! -_-). 즉 소스내 이미지 파일을 사용하듯 설정 부분에서도 아이콘 명만 기입해야 했었다! -_-;;; 생각해보니 아카이빙할 때 디렉토리라는 개념이 없이 하나의 패키지로 담는데 경로를 지정하니 당연히 제대로 읽지 못하는 것이었다.

거절 이후 원인을 찾아 해결 한 후 다시 앱스토어에 등록을 하였는데.... 이런! 아이폰4에서 아이콘이 흐릿하게 나오는 것이 아닌가? 아마도 아이폰3 아이콘이 나오는것 같았다(@2x.png 이미지가 제대로 안먹힌 것 같았다)

수소문 끝에 원인을 찾아보니 xml 설정에 문제가 있었다.


저렇게 설정해도 빌드에는 문제가 안되지만 아마 CFBundleIconfile항목아래에 있는 Icon.png 파일을 읽어들여 뿌리는것 같다. 즉 아이폰 4에서도 아이폰 3아이콘이 나오는 이유는 저부분이였다. 즉 아래의 기종에 따른 아이콘 설정들이 적용이 안되는 것이다. -_-;

원인이 되는 부분은 key 항목의 Icon files 부분이였다. 저렇게 해도 빌드에는 문제가 안되지만 아래 설정을 깔끔하게 무시하는것 같다.

수정은 Icon files를 CFBundleIconFiles로 변경하니 제대로 아이콘이 적용되었다.


아 정말... 힘들다 ㅠㅠ 단순한 아이콘 설정에도 이렇게 예외상황이 많을 줄이야 ㅠㅠ


+ Recent posts