Pergunta

Eu tenho um projeto de iPhone internacionalizado. Nos vários arquivos ${lang}.lproj/InfoPlist.strings Eu tenho uma chave única, CFBundleName = "My App Name".

Isso é bom trabalhar para um único alvo, mas não posso fazê-lo funcionar para vários destinos.

Eu gostaria de ter vários arquivos InfoPlistMyApp.strings traduzido para o alvo principal, além de vários arquivos InfoPlistMyAppLite.strings para a versão lite. Mas eu não consigo descobrir como configurá-lo. O nome InfoPlist.strings parece ser gravada na pedra, então não posso substituí-lo dinamicamente.

Todas as idéias?

Foi útil?

Solução

Acontece que isso é muito fácil, se trabalhoso. Você pode ter várias InfoPlist.strings, um habilitados-per-alvo, e que cada um pode ser internacionalizada, , desde que cada conjunto é um grupo Xcode diferente .

Configurar uma estrutura de diretórios como esta:

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

importar esses arquivos em grupos Xcode, por isso parece com isso:

text alt

Com o botão direito "Groups & Files" (canto superior esquerdo do Xcode) e certifique-se "Membership Target" é visível, então vá através de seus alvos, verificando o o direito conjunto de cordas está habilitado para cada um.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top