2012-08-24 22 views
6

Así que estoy trabajando con algunos otros desarrolladores en una aplicación iOS que tiene notificaciones push habilitadas. Tenemos un perfil de aprovisionamiento que admite push y cada uno de nosotros posee nuestros propios certificados de desarrollador con los que puede firmar el código. Todo lo estándar de lo que entiendo.Firma de código con múltiples desarrolladores

El problema al que nos enfrentamos es que Xcode requiere que elija un desarrollador en la configuración de Proyecto y/o Destino (bajo Identidad de firma de código) cuando desea ejecutar la aplicación en un teléfono. Si selecciono mi certificado de desarrollo y compruebo que se convierta en git, no funcionará en el entorno de desarrollo de otra persona porque no tienen mi certificado en su llavero. Entonces, todo el mundo cambia constantemente el archivo del proyecto para que funcione con su certificado.

¿Hay forma de evitar esto? Me doy cuenta de que existe la opción de selección automática de perfil, pero eso no funciona con las notificaciones push. Si intenta que obtenga el error

Failed to obtain push notification token: Error Domain=NSCocoaErrorDomain Code=3000 
"no valid 'aps-environment' entitlement string found for application" 

cuando el teléfono intenta registrarse para recibir su token de inserción.

Seguramente esto ha sido resuelto. ¿Como funciona esto?

+0

¿Tener un objetivo por desarrollador no es una opción? –

+0

Entonces, ¿probó mi solución sugerida? ¿Hay algún problema con eso? –

+0

Sí, lo probé y funcionó, pero no me gustó. No me gusta la idea de que se registre un objetivo diferente para cada desarrollador en el proyecto. Y es tan fácil cambiar el perfil cada vez que construyes. Creo que Apple debería tener una solución como la selección automática de perfiles que funciona para el aprovisionamiento de perfiles que usan push. – d512

Respuesta

8

Cree una configuración de compilación independiente para cada desarrollador y presione esa vez, luego haga que cada desarrollador cree su propio esquema que use sus configuraciones de compilación. Los esquemas no entran en la carpeta de proyectos y no se mezclarán con git.

Aquí es una guía paso a paso:

  1. Crear una copia de su "depuración" construir configuración, el nombre como desea: duplicate debug configuration

  2. Fije su firma de código deseado ajustes para su nueva configuración: set code signing

  3. (en este punto se puede confirmar/empujar los cambios, siguiendo medidas no afectarán archivo de proyecto) Crear un nuevo esquema, el nombre como desea:
    create new scheme

  4. Seleccione su configuración de generación de "Test" (y/o cualquier otro caso, se pueden añadir nuevas configuraciones para ellos) : select your configurations

  5. Gana millones.

+0

Gracias por esto y por las útiles imágenes e instrucciones. Ojalá Apple hubiera mejorado el soporte para este escenario, pero esta es una solución decente. – d512

+0

Gracias, esto me ayudó mucho. –

Cuestiones relacionadas