tools mac for xcode macos xcode4 xcode4.2 osx-lion

mac - ¿Xcode-Increment build number solo durante ARCHIVE?



xcode download (3)

He encontrado algunas otras publicaciones que muestran cómo agregar una secuencia de comandos para incrementar el número de compilación con una secuencia de comandos:

¿Mejor forma de incrementar el número de compilación?

"Número de compilación" del proyecto Xcode

¿Puede Xcode insertar el número de versión en el nombre de archivo de una biblioteca al construir?

Pero lo que quiero hacer es aumentar el número de compilación cuando uso ARCHIVE (tanto antes como después).

Ejemplo: Si el número de compilación actual es 21, cuando elijo Producto> Archivar, el número de compilación aumentará a 22, pasará por su proceso de compilación y creación del archivo Archivado con el número de compilación de 22, y luego cuando sea terminado de archivar, aumentará el número de compilación a 23.


Agregue la siguiente secuencia de comandos, como en el ejemplo enumerado en el primer enlace que publicó, PERO hágalo dos veces. Una vez al comienzo de la construcción y una vez al final:

if [ $CONFIGURATION == Release ]; then echo "Bumping build number..." plist=${PROJECT_DIR}/${INFOPLIST_FILE} # increment the build number (ie 115 to 116) buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}") if [[ "${buildnum}" == "" ]]; then echo "No build number in $plist" exit 2 fi buildnum=$(expr $buildnum + 1) /usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}" echo "Bumped build number to $buildnum" else echo $CONFIGURATION " build - Not bumping build number." fi

¡Muchas gracias a los autores de las preguntas a las que se ha vinculado en su pregunta por la información que me ayudó a comenzar con esta respuesta!


Esto es muy similar a la respuesta de @Inafziger, pero un conjunto de código más conciso, con el beneficio adicional de que la comprobación de "Liberar" se realiza con una casilla de verificación en XCode en lugar de una variable de tiempo de ejecución:

Siga estas instrucciones dos veces, arrastrando una al principio y otra al final (una para ejecutar antes de la compilación y otra para ejecutar después de la compilación):

# xcode-build-bump.sh # @desc Auto-increment the build number every time the project is run. # @usage # 1. Select: your Target in Xcode # 2. Select: Build Phases Tab # 3. Select: Add Build Phase -> Add Run Script # 4. Paste code below in to new "Run Script" section # 5. Drag the "Run Script" below "Link Binaries With Libraries" # 6. Ensure that your starting build number is set to a whole integer and not a float (e.g. 1, not 1.0) # 7. Check the checkbox "Run script only when installing" buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}") buildNumber=$(($buildNumber + 1)) /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"

Ver https://gist.github.com/sekati/3172554