2009-11-27 2 views
18

나는 국제화 된 iPhone 프로젝트를 가지고 있습니다. 다양한 ${lang}.lproj/InfoPlist.strings 파일에는 하나의 키 CFBundleName = "My App Name"이 있습니다.XCode - 여러 대상, 여러 * 국제화 * 이름?

하나의 대상에 대해서는 정상적으로 작동하지만 여러 대상에 대해서는 제대로 작동하지 않습니다.

주 대상으로 번역 된 InfoPlistMyApp.strings 개의 파일과 라이트 버전의 파일이 여러 개 있습니다 (InfoPlistMyAppLite.strings 개). 그러나 나는 그것을 어떻게 설정해야하는지 알 수 없다. InfoPlist.strings 이름은 돌로 설정되어있는 것처럼 보이므로 동적으로 바꿀 수는 없습니다.

아이디어가 있으십니까?

답변

34

힘들다면 이것은 매우 쉽습니다. 하나의 타겟에 대해 하나의 InfoPlist.strings을 가질 수 있으며 각 세트가 다른 Xcode 그룹에있는 한 각각 국제화 될 수 있습니다 (). 엑스 코드 그룹으로

.../AppName/ 
      en.lproj/InfoPlist.strings <-- Contains CFBundleDisplayName 
      it.lproj/InfoPlist.strings <-- ... 
      ... 
.../AppNameLite/ 
      en.lproj/InfoPlist.strings <-- ... 
      it.lproj/InfoPlist.strings <-- ... 
      ... 

가져 오기 해당 파일을, 그래서 다음과 같습니다 :

이 같은 디렉토리 구조를 설정

alt text

마우스 오른쪽 단추로 클릭하고 "그룹 & 파일"(Xcode의 왼쪽 위에) "Target Membership"이 보이는지 확인한 다음 대상을 살펴보고 각각에 대해 올바른 문자열 세트가 사용 가능한지 확인하십시오.

+0

완벽하게 작동합니다! –

+0

이 xcode 9에서 작동하는지 확인할 수 있습니다. –

관련 문제