1. Launch Image의 다국어 지원
생각보다 단순하다. 이미 프로젝트에 아무 Launch Image가 설정된 상태를 가정한다. XIB에 언어를 추가하듯이 해당 Launch 이미지 파일(여기서는 Default.png, Default@2x.png)을 선택하고 File Inspector에서 Language를 추가해 주면 된다. 그러면 XIB에서 언어가 추가되는 것 처럼 파일이 트리처럼 설정된다. 그리고 해당 언어.lproj 디렉토리에 각 해당 이미지 파일이 복사된다.
남은건 언어 리소스 디렉토리(Language.lproj)의 이미지 파일을 각 언어에 맞게 바꿔주기만 하면 된다.
한국어/영어/일본어를 추가한 경우 이런 식의 모양이 된다.
2. Archive Validation 시의 오류
Launch Image의 다국어화 작업을 한 후 앱 배포를 위해 Archive를 한 뒤 Validation을 해 보니 아래와 같은 오류가 발생하였다.
warning: Icon specified in the Info.plist not found under the top level app wrapper: Default.png뭔가 문제가 있다. 탑 레벨, 즉 프로젝트 디렉토리에 있어야 할 파일이 없다는 내용 같다.
문제의 원인이 무엇일까 한참을 뒤지다 Project Summary 화면에서 이상한 것을 발견했다.
분명 이전에 등록해 둔 Launch Image가 비어있는 것이다. 왜냐하면 기존에 등록해 둔 이미지 파일이 언어를 추가하면서 각 언어 디렉토리로 옮겨져 버렸기 때문에 설정해 둔 것이 자동으로 사라진 것이다.
그래서 다시 Default.png를 여기다 드래그 해서 등록을 하니 프로젝트에 새로운 Default.png가 복사되었다. 이렇게 하고 Validation을 하면 문제가 해결되는 듯 했다.
하지만 이건 기껏 다국어화 해 놓은 Launch Image가 아닌 특정 Launch Image를 등록해 버린 것이다. 그래서 다국어화가 되지 않는다.
문제 해결을 위해서는 위 Summary의 Launch Image 를 다시 몽땅 비운다. 물론 복제된 파일도 지워야 한다. 그리고 Info.plist 파일을 열어서 Launch Image의 파일 이름이 설정된 부분을 몽땅 삭제한다.
Icon files 항목 및 Icon files(iOS 5)에서 item 2 이상에 Launch Image로 사용하던 이미지 파일이 등록되어 있었다. 이 항목을 몽땅 지웠다. 위 스크린샷은 지운 후의 상태이다.
이 후 Validation을 해 보니 문제가 해결되었다. 단말에서 테스트 해 보니 다국어 스플래쉬도 잘 표시되었다.
0 comments:
댓글 쓰기