CFBundleVersion debe ser mayor que la versión anterior

Estoy enviando una actualización a una de mis aplicaciones. Lo he hecho docenas de veces con las diferentes aplicaciones que he desarrollado, pero esta falla por alguna extraña razón. Archive mi aplicación, luego bash Validar el archivo y recibir el siguiente mensaje de error:

This bundle is invalid. The key CFBundleVersion in the Info.plist file must contain a higher version than that of the previously uploaded version. 

iTunesConnect muestra que esta aplicación se encuentra actualmente en 1.0 y la he configurado para que esté lista para cargar la versión 1.1 (captura de pantalla con los icons de la aplicación redactados):

Captura de pantalla de iTunes Connect

Aquí hay una captura de pantalla de la información de resumen de mi objective de la aplicación que muestra que la versión y la versión corta son ambas “1.1”:

enter image description here

Aquí está la mitad superior de Info.plist del Archivo de Bundle:

     AppStoreFileSize 20859080 ApplicationProperties  ApplicationPath Applications/MyApp.app CFBundleIdentifier com.mydomain.myapp CFBundleShortVersionString 1.1 

Y aquí está la pieza relevante de Info.plist desde dentro de la aplicación dentro del paquete de Archivo:

 CFBundleShortVersionString 1.1 CFBundleSignature ???? CFBundleSupportedPlatforms  iPhoneOS  CFBundleVersion 1.1 

Todos los números de versión de mi aplicación actualizada dicen 1.1, iTunesConnect dice que espera 1.1 … pero se queja de que el número es incorrecto.

¿Qué me estoy perdiendo?

Resulta que tuve un problema en mi envío original que hizo que la versión visible para el usuario fuera “1.0” pero la versión del paquete interno fuera “1.2”. Así que cambié mi nueva versión para ser 1.3 y 1.3 y la presentación funcionó.

enter image description here

FYI. Apple piensa 1.11> 1.2, así que si vas desde 1.11 a 1.2 necesitas ir hasta 1.20.

Disfrutar.

A mi me pasó lo mismo. Mi versión actual de App Store era 2.03 . Intenté subir 2.1 . Todo lo que tuve que hacer fue cambiarlo a 2.10 y funcionó.

Al boost el CFBundleShortVersionString o “Bundle versions string, short” hice el trabajo por mí.

Aquí es cómo resolví el problema (y supongo que este es el problema con mucha gente):

1) Haga clic en la pestaña general de la configuración de sus proyectos (a la que puede acceder haciendo clic en el nombre de su proyecto, que se encuentra en la parte superior de todos los archivos de códigos).

2) Asegúrate de que el campo de comstackción coincida con lo que colocaste en tu plist para la clave “Versión del paquete”.

Este fue el problema para mí, por alguna razón no estaban sincronizados. Creo que cuando cambias la clave de la Versión de Bundler se supone que se sincroniza (y viceversa). Pero no sucedió por alguna razón, podría ser un error.

Esto puede ser causado por otra razón completamente.

Tenía una beta activa de TestFlight activa. Build 2020 , versión 407

Envié una aplicación para la revisión oficial de la App Store. Build 2020 , versión 435, y fue aprobado. Simplemente está sentado allí, esperando que lo presione en vivo en la App Store.

Sin añadir una historia secundaria complicada, lo que quería hacer es darles a mis usuarios de TestFlight beta una versión actualizada para obtener una vista previa de la versión oficial de la App Store por unos días, antes de hacer la versión de la App Store en vivo. ¿Porque preguntas? Debido a que estaban obteniendo funciones gratuitas, se estaba a punto de costar dinero una vez que la aplicación se activara.

Entonces, envié Build 2020 , versión 436, a TestFlight, y fue rechazado.

Fue rechazado porque tengo un candidato oficial aprobado de la App-Store con el mismo número de comstackción

Solución: cambie el número de comstackción de su versión de TestFlight. Envié Build 20200 (agregué un cero adicional) versión 436 a TestFlight, y fue aprobado. No se preocupe, aún puede enviar esta comstackción al mismo grupo beta de TestFlight, siempre y cuando siga usando el mismo BundleID.

Si las respuestas anteriores no solucionan su problema, asegúrese de que la versión en Xcode debe ser igual a la versión que ha creado en Itunes connect.

En mi caso, en iTunes, la versión era 1.38, pero la versión era 1.3.8 en Xcode. Una vez que cambié la versión a 1.38 en Xcode, se resolvió el problema.

Una de las razones podría ser la siguiente situación: Enviaste a AppStore versión 1.0 con la comstackción número 50. Decidiste dársela a los usuarios de TestFlight para que realicen una prueba. Y al mismo tiempo decidió enviar esta versión para su revisión a AppStore. Los usuarios comienzan a probarlo y todo está bien. Algún tiempo después AppStore lo aprueba, y no son versiones (tiene el estado de pending del desarrollador). Después de realizar algunos cambios, desea dar a los usuarios de Testflight una nueva versión. Decide boost el número de comstackción a 51 y mantener el número de versión en 1.0. Obtendrá el error que describió en su pregunta en este caso. También debes boost la versión de la aplicación.