Automatize o teste de localização no Xcode

Seu aplicativo iOS está localizado? Você testa se o seu NSLocalizedStringrealmente funciona? Você deve. Mas alterar o idioma no simulador iOS é irritante e, como todas as ações humanas, sujeito a erros. Vamos deixar isso para o Xcode.

Nota Isso é apenas para idiomas. Se você precisar forçar uma região, presumo que haja sinalizadores correspondentes, mas não tenho certeza de quais são.

Um esquema pode passar argumentos de idioma durante a execução, o que dirá ao Simulador para iniciar com um idioma específico. Faça um esquema para cada idioma que deseja testar e para cada um adicione estes argumentos:

  • -AppleLanguages
  • (en)

Sim, você tem que escapar do parêntese. Basta alterar o enpara o código de idioma ISO 639-1 apropriado.

O Simulador iniciará e executará o aplicativo no idioma especificado. Hooray! Mas, espere, como isso ajuda você a testar?

No conjunto de testes de sua escolha, você pode usar a linha a seguir para extrair o código de idioma usado atualmente.

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];

Isto irá informar en, es, de, yada yada.

Lembre-se de manter seus testes DRY e arquitetar de acordo.