Codesign error: Aprovisionamiento de perfil no se puede encontrar después de eliminar el perfil caducado

StackOverflow https://stackoverflow.com/questions/1760518

Pregunta

Probado para reconstruir una aplicación que estaba trabajando ayer. Tiene un mensaje que un perfil había expirado, por lo que sacó del iPod y de iTunes. Cuando elegí un nuevo perfil (uno con un * en el identificador), ahora me sale un error:

  

Código de Señal de error:. Archivo de suministro (cadena larga) no se puede encontrar

¿Qué me falta? Miré a través de preguntas relacionadas y no vi este escenario ya.

¿Fue útil?

Solución

A veces el archivo de proyecto Xcode se cometa un error, especialmente si usted tiene un viejo proyecto y creó por primera vez con una versión anterior del SDK Xcode / iPhone. Lo que hay que hacer es abrir el archivo de proyecto en un editor de texto, la búsqueda de la 'cadena larga' de su error y borrar manualmente esa línea. De hecho, sólo debe seguir adelante y borrar cualquier línea que apunta a todos los perfiles de aprovisionamiento. Vuelva a abrir el proyecto en Xcode, vaya a la configuración y vuelva a seleccionar el nuevo perfil. Esto aclara cuestiones como que la mayor parte del tiempo. Las líneas que apuntan a los perfiles de datos se vería así:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

Otros consejos

Aquí hay una solución más simple que funcionó para mí y que no requiere la edición manual del archivo de proyecto:

En XCode, en el panel "Grupos y archivos", expanda "Objetivos" y haga doble clic en el objetivo de su aplicación. Esto nos lleva al panel de información para la diana. En la sección "Construir", consulte la sección de "firma de código" para cualquier perfil de edad y reemplazar con la correcta.

Tenga en cuenta que esto es diferente de un doble clic en el icono de su proyecto y cambiar el perfil desde allí. Bastante sorprendente:)

Ori

  1. Proyecto y Objetivos Propiedades -> "No firme Código" -> OK -> cmd + S (o Cmd + B);
  2. Proyecto y Objetivos Propiedades -> "Su perfil Provisión" -> Aceptar

  3. Todo funciona de nuevo!

Estoy de acuerdo con la respuesta de Brad, que se puede solucionar este problema mediante la edición de su destino / proyectos a mano, eliminando cualquier línea como esta:

PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";

Sin embargo, en Xcode 4.2 y posteriores, hay una manera mucho más fácil de acceder a este texto y seleccionar y eliminarlo. En el Navegador de proyectos de la izquierda, seleccione su proyecto (la línea superior del Navegador de proyectos). Ahora sólo tiene que elegir Ver> Editor Version> Mostrar el editor de la versión. Esto muestra su proyecto como texto, y se puede buscar el aprovisionamiento y eliminar la línea problemático, allí mismo en el panel del editor de Xcode.

acabamos de ver una variación en este tema: entré en el archivo project.pbxproj según las notas de Brad Smith anteriores, excepto en este caso todas las líneas PROVISIONING_PROFILE parecía ser correcta, sin aparición de los "malos" cadena de perfil XCode que no pudo encontrar.

Sin embargo, la solución fue la misma: Eliminación de todas las líneas PROVISIONING_PROFILE en project.pbxproj, a pesar de que parecía "bueno" en teoría, y luego volver a abrir el proyecto en XCode

.

Para conseguir la disolución de Brad en su totalidad en la terminal, utilice estos comandos

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - eliminar toda la línea
  5. Presione n hasta que ya no se encuentran más
  6. Ctrl + X para guardar y cerrar

En mi caso, el problema se resolvió mediante la apertura de la ventana -> Organizador, seleccionar el dispositivo y eliminar el antiguo archivo de suministro bajo el panel "aprovisionamiento" a la derecha. El viejo ya estaba marcado con un símbolo "x" roja pero el iPhone todavía estaba usando.

Además de ese perfil, también el nuevo estaba mostrando hacia arriba (con el mismo nombre) y después simplemente el relanzamiento de la aplicación que lo tenía funcionando sin problemas.

Acabamos de pasar una hora más o menos haciendo esto y con la ayuda de los consejos de Brad y algunos cambios adicionales que todo funcionaba.

He hecho esto utilizando la siguiente:. 10.7.3, Xcode 4.3.2, iOS 5.1 por cierto

1) Haga clic derecho en su myapp.xcodeproj y seleccione el contenido del paquete

2) project.pbxproj abierto con un editor de texto (no lo recomiendan textedit ya que puede arruinar el formato)

3) Vaya todo el camino hacia abajo hasta encontrar /* Begin XCBuildConfiguration section */

4) Tenga en cuenta que usted tiene una depuración y liberar las secciones

5) En la sección de comunicados de echar un vistazo a CODE_SIGN_IDENTITY y "CODE_SIGN_IDENTITY[sdk=iphoneos*]" que debe ser algo como esto:

CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";

6) Tome un vistazo a PROVISIONING_PROFILE y "PROVISIONING_PROFILE[sdk=iphoneos*]" que debe ser similar al siguiente:

PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";

Esto debe coincidir con su perfil de suministro en Xcode. Para ver si coinciden con Xcode abierta> Ventana> Organizador> Dispositivos> Perfiles de datos> haga clic en el botón derecho en el perfil> Mostrar en el Finder> El nombre del fichero .mobileprovision es su ID de perfil.

7) Desplácese hacia abajo en el project.pbxproj y encontrar una segunda instancia de la sección de liberación. La segunda instancia de la sección de liberación debe terminar con un comentario diciendo /* End XCBuildConfiguration section */

8) asegurarse de que la segunda sección coincide con la primera sección para que CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] y PROVISIONING_PROFILE están todos llenos de.

Una sugerencia voy a hacer desde ahora nadie ha dicho que: POR FAVOR, POR FAVOR, POR FAVOR, hacer una copia de seguridad de su archivo .xcodeproj entera antes de empezar la modificación de su contenido. Atornillar el archivo del proyecto y que no tiene copia de seguridad dará lugar a una experiencia muy desagradable.

Ser capaz de realizar copias de una edición puede ser un regalo del cielo.

Yo sólo encontré con este problema en mi XCode4. Arreglarlo, hay que poner todas las disposiciones correctas en tanto depuración y liberación de config.

Yo estaba tratando de enviar (por archivado) mi aplicación. Así que acabo de cambiar las disposiciones de depuración a "no firme Código", y la provisión de lanzamiento para el suministro appstore de mi aplicación.

Esta solucionarlo y me permite archivar normalmente. Esperamos que ayuda.

Seleccione las líneas en codesigning que están en blanco sometidas a cualquier iOS SDK y seleccionar el certificado correcto.

La solución de Brad Smith trabajado para mí, pero también tuve que quitar el campo CODE_SIGN_IDENTITY para hacer que funcione.

Por desgracia, este enfoque no funcionó para mí. Pero aquí es una solución que funcionó para mí (para conseguir que esto funcione es necesario un archivo de proyecto de trabajo sobre la subversión o algo así):

Lo hice volver a una versión de trabajo de mi archivo de proyecto. Como no es posible revertir con Xcode ( Dónde ? es la opción 'Revert' en Xcode 4 de control de código fuente ) - solía tortuga, mi máquina de Windows y este Tutorial ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html ) para hacer retroceder a un archivo de proyecto mayor.

A medida que el tutorial no funcionó para mí, que acabo de utilizar la tortuga para guardar la revisión de trabajo de mi archivo de proyecto para una memoria USB al puerto a mi mac. Después de eso he sustituido el nuevo archivo de proyecto roto con el anterior trabajo, limpiado y funcionó como un encanto!

Yo estaba teniendo problemas porque he actualizado mi perfil AdHoc aprovisionamiento con algunos nuevos dispositivos para su uso en TestFlight. Supuestamente esto está sucediendo porque Xcode tiene una vieja relación con su perfil de suministro, ya sea en las configuraciones de generación codesigning para el proyecto o los objetivos. La forma me fijo mío estaba a:

  1. Ir a ambas configuraciones de generación de destino y configuración de generación de proyectos, en el cambio de firma de código todos los perfiles de datos a otra cosa.
  2. Ir a dispositivos perfiles / aprovisionamiento en el organizador de eliminar los perfiles ofensivos, a continuación, haga clic en el botón de actualización en la parte inferior derecha.
  3. Volver a los valores meta y de generación de proyecto y establecer perfiles de aprovisionamiento a la adecuada (con suerte) perfiles de datos de recién renovado.

Al menos en Xcode 5, esto es lo que resuelve el problema para mí:

En el aprovisionamiento de perfil, seleccione el archivo de suministro infractor y luego seleccione un archivo de suministro válido en el menú desplegable.

introducir descripción de la imagen aquí

Podría quitar antigua referencia del archivo de aprovisionamiento. A continuación, después de la importación nuevo perfil de aprovisionamiento y seleccionando constructor de Xcode.

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