saber - Xcode 7: cambiar el identificador del paquete de productos
unity pago (4)
Consulte this para obtener una solución simple para reemplazar $ PRODUCT_BUNDLE_IDENTIFIER usando un comando de shell como -
sed -i '''' ''s/com.example.oldbundleid/com.example.newbundleid/g'' project.pbxproj
Puede pasar sus variables en consecuencia utilizando Jenkins / Shell.
Un enfoque alternativo para hacer esto es usar mod-pbxproj .
python -m mod_pbxproj -b -af PRODUCT_BUNDLE_IDENTIFIER=com.example.newbundleid -rf PRODUCT_BUNDLE_IDENTIFIER=com.example.oldbundleid project.pbxproj All
//editar
La vieja identificación del paquete puede ser buscada por:
awk -F ''='' ''/PRODUCT_BUNDLE_IDENTIFIER/ {print $2; exit}'' project.pbxproj
Esto puede almacenarse en una variable de cadena y usarse en lugar de com.example.oldbundleid
Estoy configurando a Jenkins para automatizar el proceso de compilación. En particular, para mis necesidades, me gustaría poder establecer diferentes identificadores de paquetes.
Estoy usando el complemento Xcode Jenkins para establecer el identificador del paquete:
El problema es que esto cambiará el identificador de paquete en el archivo Info.plist y en MyTarget> General> Identificador de paquete. Pero no cambiará el identificador del paquete en Configuraciones de compilación> Empaquetado> Identificador de paquete de producto.
Lo mismo sucede si lo hago de forma manual. Creo un nuevo proyecto en Xcode 7. Por defecto, los tres valores son:
Cuando cambio el valor en el archivo Info.plist
como este:
Los otros dos valores serán:
Entonces, cómo puede ver que el valor en Configuraciones de compilación no cambia. Si estoy en Xcode, cambio ese valor manualmente, pero si estoy construyendo el proyecto en Jenkins, este es un problema.
¿Alguien encontró el mismo problema? ¿Cómo lo enfrentas?
¡Gracias!
Enfrentado con el mismo problema.
El PRODUCT_BUNDLE_IDENTIFIER
es una variable en su archivo project.pbxproj. Cambie eso a lo que desee y reflejará tanto en su Info.plist como en la configuración del proyecto.
Para xcode 8.x
Cambiar el nombre de la aplicación en Destinos> your_app_name - Info> además de una nueva clave de propiedad no hace cambios completos del nombre de la aplicación en todas partes del proyecto.
Cuando hace esto, su proyecto se ejecuta sin problemas en su Mac solo (es decir, en el sistema que utilizó para hacer estos cambios, ya que todas las claves e identidades de su propiedad se guardarán en su sistema). Cuando intentes utilizar tu proyecto en otro sistema, obtendrás este error extraño de que tu proyecto no se encuentra, en caso de que uses vainas en tu proyecto.
Entonces, para superar esto, todo lo que debes hacer es hacer algunos cambios en la configuración de compilación , dejando la pestaña General y la pestaña de información intactas.
En Destinos> Configuración de compilación , vaya a Embalaje .
Cambie el nombre de su Producto por el nombre deseado y el identificador del paquete de Producto al nuevo. Una vez que haga esto, automáticamente su nombre para mostrar del proyecto y el ID del paquete cambiará al nuevo en la pestaña General.
La respuesta de udit es correcta. La mejor práctica es en el valor de ID de paquete de plist set como $ PRODUCT_BUNDLE_IDENTIFIER. Luego, en Configuraciones de compilación, use diferentes configuraciones (Depurar, Liberar .etc) para configurar diferentes Id. De paquete según sea necesario:
No necesita el complemento xCode para cambiar la identificación del paquete, pero necesita especificar la configuración allí.