• Skip to main content

Tú Programas

Blog sobre programación web y mobile, frameworks modernos y herramientas para desarrolladores

  • Inicio
  • Contactar

Aumentar automáticamente el número de compilación en Xcode

01/11/2019

Vamos a ver, de una manera muy sencilla, como aumentar automáticamente el número de compilación en Xcode cada vez que generamos una nueva versión.

Cada vez que generamos una versión, normalmente en modo Release (Producción), es importante aumentar el número de compilación. ¿Por qué? Pues bien, supongamos que tenemos una app con un número de versión 2.0.1 y le indicamos que de compilación, el Build Number en Xcode, es 100. Ahora debemos generar una nueva versión que corrige errores menores, la nueva versión será, por ejemplo, 2.0.2. Así ahora tendremos nuestra app en la versión 2.0.2 (100). Seguidamente, supongamos que nos hemos equivocado en un texto y debemos volver a generar versión, sigue siendo la 2.0.2 (100), entonces ¿cómo diferenciamos las dos versiones que acabamos de crear? Efectivamente con el número de compilación por lo que la versión con el texto corregido será la 2.0.2 (101).

Cambiar el número de versión de forma manual no es ningún problema ya que lo haremos menos veces que compilaciones hagamos. En cambio, tener que acordarnos de ir aumentando el valor del build number, pues es bastante más pesado.

La solución

Para solucionar esto, tenemos este script que se ejecuta justo después de generarse una nueva versión de Release. Lo que hace es obtener el número de compilación actual, sumarle 1 y asignar este valor como nuevo número de compilación.

#!/bin/bash
if [ "Release" = "${CONFIGURATION}" ]; then
	buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" AppTuProgramas/Info.plist)
	buildNumber=$(($buildNumber + 1))
	/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" AppTuProgramas/Info.plist
fi
xcode antes de subir el número de compilación
Estado de nuestra versión antes de ejecutar el script

El script lo debemos añadir seleccionando el target de nuestro proyecto, en la pestaña «Build Phases». Hacemos clic en el botón + y seleccionamos «New Run Script Phase».

mostrando como añadir un script en Xcode
Añadimos un nuevo script

Esto nos añadirá un nuevo segmento en dónde podremos poner nuestro script. Debes modificar la ruta de tu archivo Info.plist, en mi caso está dentro de la carpeta del proyecto AppTuProgramas/Info.plist.

añadimos el código para subir el build number
Nuevo segmento Run Script con nuestro script

Finalmente, cuando generemos una nueva versión Release de nuestra app, automáticamente aumentará el build number.

xcode después de subir el número de compilación
Aumenta el número de compilación

Como vemos, de una manera muy sencilla conseguimos aumentar automáticamente el número de compilación en Xcode. Este script nos ahorra mucho tiempo ya que, de este modo, nos olvidamos por completo de tener que gestionar el número de compilación. Ahora solamente tenemos que gestionar el número de versión que como sabemos no se cambia tan a menudo como el número de compilación.

Como siempre, agradezco que te tomes un tiempo en leer mis posts. Cualquier duda o sugerencia de nuevos posts no dudes en contactar conmigo.

Te invito también a que te suscribas a mi newsletter, si aún no lo has hecho, puesto que recibirás de forma puntual información de tu interés y de nuevos cursos que estoy preparando.

  • ¿Quién soy?
  • Newsletter
  • Contactar
  • Aviso legal

Copyright © 2022

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestro sitio web. Saber másEstoy de acuerdo
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR