Quais versões / números de compilação de aplicativos iOS DEVEM ser incrementados após o lançamento da App Store?

Os campos de versão / construção para um aplicativo iOS incluem:

"Versão"CFBundleShortVersionString (String - iOS, OS X) especifica o número da versão do pacote configurável, que identifica uma iteração liberada do aplicativo. O número da versão do release é uma sequência composta por três números inteiros separados por período.

"Construir"CFBundleVersion (String - iOS, OS X) especifica o número da versão de compilação do pacote configurável, que identifica uma iteração (liberada ou não) do pacote configurável. O número da versão da compilação deve ser uma sequência composta por três inteiros não negativos separados por período, com o primeiro inteiro maior que zero. A sequência deve conter apenas caracteres numéricos (0-9) e ponto (.). Os zeros à esquerda são truncados em cada número inteiro e serão ignorados (ou seja, 1,02,3 é equivalente a 1,2,3). Esta chave não é localizável.

"Número da versão do iTunes Connect": número da versão que você especifica ao criar uma nova versão do aplicativo no iTunes Connect.

Minha pergunta é:

Quais números de versão / compilação sãoprecisa ser incrementado quando uma nova versão do aplicativo é carregada no iTunes Connect e / ou lançada na App Store?

Pode "versão"CFBundleShortVersionString ou "construir"CFBundleVersion permanecerá o mesmo entre as atualizações de aplicativos?

Pontos extras para fontes da Apple ou as mensagens de erro exatas que o iTunesConnect exibe ao carregar um número de versão / versão inválido.

Nota para Android / Google Play:

A discussão que leva a essa pergunta é que a "versão" pública de um aplicativo Android na Google Play Store nãonão precisa ser incrementado e está emde jeito nenhum validado. oandroid:versionName pode permanecer o mesmo entre lançamentos, upgrade, downgrade ou ser qualquer sequência aleatória em vez de algo que parece ser um "número de versão" válido.

android:versionName - Um valor de sequência que representa a versão do código do aplicativo, como deve ser mostrado aos usuários.

O valor é uma sequência para que você possa descrever a versão do aplicativo como um<major>.<minor>.<point> corda,ou como qualquer outro tipo do identificador de versão absoluto ou relativo.

Diferença entre versionName e versionNumber no Android

Considerando que aandroid:versionCode é imposto para ser um número inteiro de incremento na liberação.

Documentação da Apple

Como observado ema resposta recentemente aceita, A Apple publicou recentemente uma Nota técnica que detalha sua versão e esquema de número de compilação:

Nota técnica da Apple TN2420 - Números de versão e números de compilação

questionAnswers(7)

yourAnswerToTheQuestion