2011-04-12 14 views
12

En Xcode tengo Bundle Version y Bundle Version string, short. También hay una versión en iTunes Connect. Solo estoy tratando de ver qué debo usar para cada uno y cuál usa iOS para determinar la versión de la aplicación para que una versión más nueva reemplace correctamente y una versión anterior.Necesita ayuda para entender cómo versionar una aplicación iOS

Respuesta

19

Resumen breve: puede establecer tanto la Versión del paquete como la Versión del paquete en corto con el mismo valor. Tendrá que aumentarlos entre envíos. La versión en iTunes Connect es la versión que se muestra al usuario en la App Store y no tiene que coincidir con las cadenas de versión en Info.plist

+5

Gracias por la información - es posible obtener un poco más de detalle en cuanto a la finalidad prevista detrás de los dos valores diferentes. O al menos donde puedo encontrar esa información para mí. Gracias por la rápida respuesta. – Brian

+0

Tenga en cuenta que el usuario puede ver números de versiones múltiples. Apple no requiere que coincidan. 'Bundle Short Version String' es la versión que se puede ver en el dispositivo del usuario en Configuración> General> Almacenamiento>. Es probable que desee configurar esto para que coincida con la versión que está visible en la tienda de aplicaciones. – user984003

13

Aquí está el excellent post sobre cómo hacer las versiones de manera fácil. Mi enfoque general es tou use x.y.z, donde 'x' se incrementa en las versiones principales, 'y' se aumenta para las versiones que introducen nuevas funcionalidades y 'z' se usa para las versiones de corrección de errores. Ejemplos: 1.0.0, 1.0.4, 3.2.1, etc ... La relación entre Bundle Version y iTunes connect es simple: cualquier cosa que use para su versión en Xcode, también se usa en iTunes, por lo que el usuario de su la aplicación puede identificar la versión de tu aplicación fácilmente, solo tienes que ser coherente. Luego puede introducir más granularidad, p. construir números.

EDIT: Además Importante: su aplicación puede ser rechazado si es inconsistente con la numeración. Más detalles here. vínculo inactivo, sin embargo, sigue siendo cierto que debido a la aplicación de versiones incoherentes puede ser rechazado.

+0

@RaffiKhatchadourian: Sí, lo hace. – rdurand

+0

Pero el segundo enlace está roto. – rdurand

0
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 
NSLog(@"version is%@",version); 
+10

Bienvenido a Stack Overflow. Cuando publica una respuesta como esta a una pregunta formulada hace más de un año que ha aceptado respuestas, su respuesta debe cubrir material nuevo (que es suyo) y debe explicarse para que quede claro por qué su respuesta es mejor que otros. Una sola línea de código probablemente no sea suficiente. ¿Puedes dar una explicación? –

+1

Esto no responde la pregunta en absoluto .. – rdurand

Cuestiones relacionadas