Pregunta

Estoy trabajando en un marco de iOS basado en la siguiente plantilla: https://github.com/jverkoey/iosframework

Ahora necesito pulir un poco y configurar el sistema de versiones con el número de compilación/marketing apropiado.

Este proyecto marco tiene 3 objetivos, el primero que genera una biblioteca estática, una segunda que genera un paquete de recursos y un tercer objetivo que es un objetivo agregado para la biblioteca estática y el paquete de recursos. Entonces, mi primer problema es determinar en qué objetivo debo configurar la configuración de compilación de versiones (o si debo configurar todos los objetivos).

Mi segunda pregunta es cuáles son las configuraciones que debo configurar y qué significan:

Versión actual del proyecto => ¿Es la versión de compilación o la versión de marketing? Entonces, si lento aplicaciones con versiones como: 1.2.3.4, ¿debo establecer 4? o 1.2.3? o 1.2.3.4?

Fuente de versiones generada FileName => El nombre del archivo .c generado que contiene el número de compilación entero, ¿supongo?

Variables de versiones generadas => ¿Qué es?

Nombre de versiones prefijo => un prefijo para el nombre de la variable que contiene el número de compilación

Nombre de versiones sufijo => un sufijo para el nombre de la variable que contiene el número de compilación

Sistema de versiones: todos usan Apple Generic, así que supongo que es el único disponible

Versión de nombre de usuario: ¿Qué es?

Hay otras configuraciones como la "versión de marco" en la sección "Embalaje" que siempre debe usar "A", supongo que en iOS (ya que en realidad son marcos estáticos, la versión no importa). Y para la configuración de "versión de compatibilidad" / "versión de la biblioteca actual" de la sección "vinculación", ¿debo configurarlos solo en el objetivo de la biblioteca estática? ¿O son utilizados por la aplicación que vincula la biblioteca?

¿Fue útil?

Solución

A menos que esté construyendo un marco comercial de código cerrado, Realmente recomendaría usar Cocoapods. Se encargará de las dependencias, recursos, versiones, actualización, instalación, etc. Todos los dolores de cabeza grandes a medida que su biblioteca cambia con el tiempo.

Incluso si desea distribuir binarios solo para código de código cerrado, podría construir los binarios con cocoapods y luego distribuirlos con un podspec diferente. También evitará incorporar otro código de bibliotecas, que es una práctica realmente mala pero común.

En cuanto a los versiones, puede verificar aquí.


Volviendo a hacer la biblioteca estática ...

La versión no es visible desde la aplicación y sería simplemente documentación, por lo tanto, creo que debería agregarla a todos sus objetivos. Si realmente desea poder detectar la versión de su biblioteca en tiempo de ejecución, deberá crear un método de clase o una variable global como [MyLibrary version].

La documentación para esas claves se incluye en Xcode o simplemente puede seleccionar una y verificar el panel "Ayuda rápida":

enter image description here

Otros consejos

Apple tiene una documentación bastante extensa para construir y distribuir marcos.

los Guía de programación de marco Cubre la mayor parte del suelo que necesitas. Si desea información más específica sobre cómo las herramientas del desarrollador utilizan la información en su proyecto, busque la página manual para agvtool, la herramienta que Xcode usa con el sistema de versiones de Apple.

También deberías estar interesado en el Pautas de codificación para el cacao, que también cubre algunas mejores prácticas para los marcos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top