Pergunta

Para fins de controle de qualidade I mostrar a versão de construção do nosso aplicativo no aplicativo' ver as configurações como um PSTitleValueSpecifier. I definir número de compilação atual do nosso aplicativo como o valor padrão e eu atualizá-lo para cada nova compilação.

O meu problema é que sempre que eu implantar uma nova compilação do nosso aplicativo em um telefone dev via Xcode, o valor da versão não é atualizada, mas permanece com a compilação anterior. A única maneira de atualizar o valor da versão é excluir o aplicativo do telefone dev e, em seguida, implantar a nova compilação. Obviamente, esta abordagem não agradar nosso departamento de controle de qualidade, uma vez que, em seguida, perder todos os seus dados persistentes.

Eu tentei, limpar o projeto, re-elaboração e implantação, mas eu recebo o mesmo comportamento.

Tem mais alguém experimentou este problema? Qualquer idéia sobre como trabalhar em torno dele / corrigi-lo?

Foi útil?

Solução

É porque este valor é armazenado usando NSUserDefaults que é armazenado no disco e só removidas quando o aplicativo é removido. Você pode configurá-lo explicitamente no código da mesma forma que faria com qualquer outro padrão do usuário. Você poderia simplesmente criar um campo em seu Info.plist que você muda quando você quiser enviar uma nova compilação. Leia o valor do plist na inicialização e, em seguida, escrever para os seus padrões do usuário com:

NSString *value = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"build_version"];
[[NSUserDefaults standardDefaults] setObject:value forKey@"build_version"];
[[NSUserDefaults standardDefaults] synchronize];

Claro, você substituir "build_version" com o que o seu nome da chave está em seu arquivo de configurações. É um truque, mas pode satisfazer suas QA pessoas.

Por causa do argumento, na verdade é razoável esperar que você tem que remover completamente a versão anterior antes de ver a atualização número da versão, no entanto eu percebo nem todos os QA pessoas são razoáveis. ; -)

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