modelos iphone version

iphone - modelos - ¿Cuál es la diferencia entre "número de versión" en itunes connect, "paquete de versión", "conjunto de cadena de paquete" en xcode?



iphone se (6)

El documento de apple podría haber sido más claro sobre cómo enviar una versión de actualización.

Como se preguntó en el título, ¿cuál es la diferencia entre

  1. número de versión en itunes connect (que debe proporcionar cuando envía una actualización)
  2. paquete de versión en xcode
  3. cadenas de paquete de cuerdas, corto

¿Están relacionados de alguna manera?


La respuesta aceptada de este enlace contiene buenos detalles :: ¿Qué número de versión / compilación de la aplicación iOS DEBE incrementarse con el lanzamiento de la App Store?

De Apple Docs

CFBundleVersion (Versión del paquete)

CFBundleVersion (String - iOS, OS X) especifica el número de versión de compilación del paquete, que identifica una iteración (liberada o no publicada) del paquete. El número de versión de compilación debe ser una cadena compuesta por tres enteros separados, no negativos, y el primer entero es mayor que cero. La cadena solo debe contener caracteres numéricos (0-9) y de punto (.). Los ceros iniciales se truncan desde cada entero y se ignorarán (es decir, 1.02.3 es equivalente a 1.2.3). Esta clave no es localizable.

CFBundleShortVersionString ( Versión de paquete de cadena, corta)

CFBundleShortVersionString (String - iOS, OS X) especifica el número de versión de lanzamiento del paquete, que identifica una iteración lanzada de la aplicación. El número de versión de lanzamiento es una cadena compuesta por tres enteros separados por un período. El primer entero representa revisiones importantes de la aplicación, como revisiones que implementan nuevas características o cambios importantes. El segundo entero denota revisiones que implementan características menos destacadas. El tercer entero representa las versiones de mantenimiento.

El valor de esta clave difiere del valor de CFBundleVersion, que identifica una iteración (liberada o no publicada) de la aplicación. Esta clave se puede localizar incluyéndola en sus archivos InfoPlist.strings.


La respuesta aceptada es el camino a seguir, simplemente agregando esto como un ejemplo.

Para nuestra última versión, se requirió la "Versión del paquete de cadena, corta", y seguí adelante y lo comparé con el número de versión de Bundle (1.2.8 para nuestra aplicación).

Luego habilité Testflight e hice que la versión pendiente de revisión de Apple (1.2.8) estuviera disponible para nuestros verificadores internos. Sin embargo, un probador encontró un problema que requería reparación, y eliminamos el binario en su lugar. Al cargar una nueva compilación, recibimos un error que indica que la versión de compilación ya estaba cargada.

Después de leer algunos enlaces SO y documentos de Apple, mi entendimiento era hacer la versión del paquete: 1.2.8.001, mientras mantenía bundle-version-short como estaba. Si se requiere una compilación nueva, incrementamos la versión del paquete a 1.2.8.002.

Nota: la carga fue aceptada, y la compilación aparece como "1.2.8.001" en prelanzamiento. El número de versión sigue siendo 1.2.8.


Sí, están relacionados pero su definición depende de cómo se usan.

  • Versión de iTunes Connect

    Siempre debe ser un número de versión, por ejemplo 1.0

Modo de uso 1: solo se establece CFBundleVersion

  • Versión del paquete (CFBundleVersion)

    Debe ser un número de versión, por ejemplo, 1.0. Debe coincidir con la versión de iTunes Connect.

Modo de uso 2: se configuran tanto CFBundleVersion como CFBundleShortVersionString

  • Versión del paquete (CFBundleVersion)

    Debe ser un número de compilación, por ejemplo, un entero único como 435163.

  • Bundle Short Version String (CFBundleShortVersionString)

    Debe ser un número de versión, por ejemplo, 1.0. Debe coincidir con la versión de iTunes Connect.

El modo de uso 2 es la mejor manera de hacerlo. Aquí hay algunos números de ejemplo para la ruta de actualización de una aplicación:

CFBundleShortVersionString CFBundleVersion 1.0 1 1.0.1 2 1.0.2 3 1.2 5 (build 4 was a beta and never released publicly) 1.2.1 6

Una nota adicional sobre los números de versión: si envía una actualización menor (por ejemplo, corrección de errores) a su aplicación, nunca debe perder períodos en el número de versión, por ejemplo, siempre use 1.0.1 y NUNCA 1.01 o correrá el riesgo de no poder usar ciertos números de versión en el futuro porque no será posible incrementarlos.


Sí, están relacionados. Todos ellos se refieren a la versión de su aplicación.

  • iTunes Connect
    Este es el número de versión que se muestra en la App Store; Este debe ser un número de versión pura como 1.2.3

  • Versión del paquete (CFBundleVersion)
    Esto no necesita ser un número de versión puro. Esto puede ser algo así como 12345 o 1.2.3 (Build 12345AB) . Esto se muestra en la ventana Acerca de las aplicaciones de Mac OS X, por ejemplo, y suele ser más un "Número de compilación" que un "Número de versión".

  • Bundle Version String (CFBundleShortVersionString) Este valor se utiliza como el número de versión "real". Debe ser la misma cadena que se utilizó para la versión en iTunes Connect .

Actualizar:
Como señala @snlehton, CFBundleVersion tiene que ser un número de versión pura como 1.2.3 cuando desee cargar su aplicación en la tienda de aplicaciones (iOS).


Sí, todos están relacionados.

Número de versión en itunesconnect es el número de versión que necesita suministrar. Por ejemplo, 2.1.1 o 3.1.2, etc. Esto también debería ser igual a CFBundleShortVersionString .

Bundle Version En Xcode ( CFBundleVersion ) representa solo el número de compilación que identifica una iteración (liberada o no publicada) de la aplicación.

Bundle versions string, short ( CFBundleShortVersionString ) es un número compuesto por tres enteros separados por puntos. El primero representa cualquier actualización importante de la aplicación, como actualizaciones que implementan nuevas características o cambios importantes. El segundo entero denota revisiones que implementan características menos destacadas. El tercer entero representa las versiones de mantenimiento.


Tenga cuidado con CFBundleVersion . No es solo un número de compilación de producción. Apple verifica este valor durante el proceso de carga binaria y puede fallar.

Asegúrese de configurar CFBundleVersion con el valor de CFBundleShortVersionString cuando cree su versión para enviar.

Ver este post al respecto