Quiero mostrar el git SHA actual de cuando mi proyecto se creó en mi aplicación. ¿Cuál es una buena manera de hacer esto en un proyecto de iOS con un mínimo esfuerzo?Agregar git commit SHA a la aplicación iOS
Respuesta
Puede hacerlo en Esquemas. Abra su esquema (edit), expanda Build en su esquema, haga clic en Pre-Actions, haga clic en el botón +, seleccione New Run Script Action y escriba algún script que obtenga SHA y modifique algún archivo de encabezado donde puede poner SHA (la manera más fácil es #define GIT_SHA @"..."
) y use GIT_SHA
en su aplicación en un lugar donde pueda visualizarla.
Versión 2.17. Construye a85b242.
Si desea agregar un control de versiones bastante como este sobre, sólo tienes que seguir estos pasos:
- abierto
Build Phases
en Xcode - Prensa
Add Build Phase
Add Run Script Build Phase
Press. Puede encontrar esto en el menú superior Editor. Arrastre script-line a la posición después deTarget Dependencies
.- Conjunto Shell línea a
/bin/sh
Establecer la secuencia de comandos siguiente para el campo Guión. No olvides cambiar Fuentes a tu ruta de acceso al archivo, donde debería estar
GitVersion.h
. Por ejemplo:version=$(git rev-parse --verify HEAD | cut -c 1-7) curdate=$(date +"%d.%m.%y") filesource="//\n// GitVersion.h\n//\n// Created by sig on $curdate.\n//\n\n#ifndef GitVersion_h\n#define GitVersion_h\n\n#define GIT_SHA_VERSION @\"$version\"\n\n#endif" cd ${SOURCE_ROOT}/${PROJECT_NAME} echo -e "$filesource" > Sources/GitVersion.h touch Sources/GitVersion.h
importación
GitVersion.h
archivo en Xcode proyectoPegar estas líneas:
NSDictionary *info = [[NSBundle mainBundle] infoDictionary]; NSString *version = [info objectForKey:@"CFBundleShortVersionString"]; NSString *app_version = [NSString stringWithFormat:@"Version %@. Build %@.", version, GIT_SHA_VERSION]; NSLog(@"app_version : %@", app_version);
respuesta totalmente documentado con imágenes y ventajas descritas podría ser encontrado here.
¿Por qué voto negativo sobre esto? – Boon
- 1. git commit -a confusion
- 2. revirtiendo push'd git commit
- 3. git add. vs git commit -a
- 4. git: push a single commit
- 5. Script Git commit bash
- 6. Git commit hooks: configuración global
- 7. git pull basado en SHA
- 8. Git eliminar commit raíz
- 9. git commit problems
- 10. git: eliminar 2nd commit
- 11. Usando git commit -a con vim
- 12. Git falla al presionar commit a github
- 13. Bad commit to Git
- 14. ¿Cómo puedo calcular un hash SHA-2 (idealmente SHA 256 o SHA 512) en iOS?
- 15. delete first git commit
- 16. git commit - format?
- 17. Git Commit Generation Numbers
- 18. git commit directorio
- 19. git find fat commit
- 20. Lost Last Git Commit
- 21. Git commit from python
- 22. Git: Cómo deshacer commit * y * revertir a la última rama
- 23. Cómo SHA hash en cocoa/iOS
- 24. Referencia Git branch start commit
- 25. Deshacer un commit de git
- 26. Submódulos de Git: especifique un SHA específico?
- 27. ¿Por qué no puedo agregar localización a mi aplicación iOS?
- 28. Cómo GIT revertir una confirmación utilizando un SHA
- 29. Ganchos commit de submódulo Git
- 30. Rollback al último git commit
La parte "escribir algunas secuencias de comandos" es la parte no trivial. Su respuesta es básicamente _ "cómo hago que Xcode haga algo en tiempo de compilación" _ cuando la pregunta era esencialmente _ "cómo hago que Xcode en tiempo de compilación obtenga el Git SHA actual y lo haga accesible al código Objective-C/Swift" _. –