with usr nonzero identifiers failed developer code certificates apple ios objective-c xcode codesign

usr - developer ios profile



Error de diseño de código: no se puede encontrar el perfil de aprovisionamiento después de eliminar el perfil caducado (16)

Intenté reconstruir una aplicación que estaba funcionando ayer. Recibí un mensaje de que un perfil había caducado, así que lo quité del iPod y de iTunes. Cuando elegí un nuevo perfil (uno con un * en el identificador), ahora aparece un error:

Code Sign Error: Provisioning Profile (long string) can''t be found.

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


  1. Propiedades de proyecto y objetivos -> "No firmar código" -> Aceptar -> cmd + S (o cmd + B);
  2. Propiedades de proyectos y objetivos -> "Su perfil de provisión" -> Aceptar

  3. ¡Todo vuelve a funcionar!


A veces, el archivo de proyecto de xcode se desordena, especialmente si tiene un proyecto antiguo y lo creó primero con una versión anterior de xcode / iphone sdk. Lo que debe hacer es abrir el archivo del proyecto en un editor de texto, buscar la "cadena larga" de su error y borrar esa línea manualmente. De hecho, debe seguir adelante y borrar cualquier línea que apunte a cualquier perfil de aprovisionamiento. Luego vuelva a abrir el proyecto en xcode, vaya a la configuración y vuelva a seleccionar su nuevo perfil. Esto aclara problemas como ese la mayoría del tiempo. Las líneas que apuntan a los perfiles de aprovisionamiento se verán así:

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


Acabo de encontrar este problema en mi XCode4. Para solucionarlo, debe colocar todas las disposiciones correctas en la configuración de Depuración y Liberación.

Estaba intentando enviar (archivando) mi aplicación. Así que simplemente cambio las disposiciones de depuración a "No codificar" y la disposición de liberación a la aplicación de la tienda de aplicaciones.

Esto lo arregla y me permite archivar normalmente. Espero que ayude.


Acabo de ver una variación de este problema: entré en el archivo project.pbxproj según las notas de Brad Smith anteriores, excepto en este caso que todas las líneas de PROVISIONING_PROFILE parecían ser correctas, sin que ocurriera la cadena de perfil "incorrecta" que XCode podría no encontrar

Sin embargo, la solución fue la misma: eliminar TODAS las líneas PROVISIONING_PROFILE en project.pbxproj, aunque parecían "buenas" en teoría, y luego volver a abrir el proyecto en XCode.


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

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


Aquí hay una solución más simple que me funcionó 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 abre el panel de información para el objetivo. En la sección "Crear", revise la sección "firma de código" para los perfiles antiguos y reemplácelos con el correcto.

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

O yo


En mi caso, el problema se resolvió abriendo Ventana -> Organizador, seleccionando mi dispositivo y eliminando el Perfil de aprovisionamiento anterior debajo del panel "Aprovisionamiento" a la derecha. El anterior ya estaba marcado con un símbolo "x" rojo, pero el iPhone todavía lo estaba usando.

Además de ese perfil, también estaba apareciendo el nuevo (con el mismo nombre) y después de simplemente relanzar la aplicación funcionó sin problemas.


Estaba teniendo problemas porque actualicé mi perfil de aprovisionamiento AdHoc con algunos dispositivos nuevos para usar en TestFlight. Se supone que esto está sucediendo porque xcode tiene una referencia anterior a su perfil de aprovisionamiento en la configuración de compilación de firma de códigos para el proyecto o los objetivos. La forma en que arreglé la mía fue:

  1. Vaya a la configuración de creación de destino y la configuración de creación del proyecto. En la firma de código, cambie todos los perfiles de aprovisionamiento a otra cosa.
  2. Vaya a los perfiles de dispositivos / aprovisionamiento en el organizador para eliminar los perfiles ofensivos, luego haga clic en el botón de actualización en la parte inferior derecha.
  3. Regrese a la configuración de creación de objetivo y proyecto y establezca sus perfiles de aprovisionamiento en los perfiles de aprovisionamiento recientemente renovados apropiados (con suerte).

Estoy de acuerdo con la respuesta de Brad, que puedes solucionar este problema editando tu objetivo / proyecto 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 versiones posteriores, hay una manera mucho más fácil de acceder a este texto y seleccionarlo y eliminarlo. En el Navegador de proyectos a la izquierda, seleccione su proyecto (la línea superior del Navegador de proyectos). Ahora simplemente elija Ver> Editor de versiones> Mostrar editor de versiones. Esto muestra su proyecto como texto, y puede buscar PROVISIONING y eliminar la línea problemática, allí mismo, en el panel del editor de Xcode.


La solución de Brad Smith funcionó para mí, pero también tuve que eliminar el campo CODE_SIGN_IDENTITY para que funcionara.


Lamentablemente este enfoque no funcionó para mí. Pero aquí hay una solución que me funcionó (para que esto funcione, necesita un archivo de proyecto que funcione en Subversion o algo así):

Volví a una versión funcional de mi archivo de proyecto. Como no es posible revertir con Xcode ( ¿Dónde está la opción ''Revertir'' en Source Control de Xcode 4? ) - Utilicé Tortoise, mi máquina con Windows y este Tutorial ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-rollback.html ) para volver a un archivo de proyecto anterior.

Como el Tutorial no funcionó para mí, solo usé Tortoise para guardar la revisión de trabajo de mi archivo de proyecto en una memoria USB para portarlo a mi mac. Después de eso, reemplacé el nuevo archivo de proyecto roto con el anterior, ¡limpié y funcionó a la perfección!


Para lograr la solución de Brad completamente en Terminal, use estos comandos

  1. cd [Xcode project parent]
  2. vi [Xcode project name].xcodeproj/project.pbxproj
  3. /[offending provisioning profile] [Enter]
  4. dd - borra toda la linea
  5. Pulse n hasta que no se encuentren más.
  6. Ctrl + x para guardar y cerrar

Podría eliminar la referencia anterior del archivo de aprovisionamiento Luego, después de importar un nuevo perfil de aprovisionamiento y de seleccionar Xcode builder.


Seleccione las líneas en el código que están en blanco en Cualquier SDK de iOS y seleccione el certificado correcto.


Solo pasé una hora más o menos haciendo esto y con la ayuda del consejo de Brad y algunos cambios adicionales, todo funcionó.

He hecho esto usando lo 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) abrir project.pbxproj con un editor de texto (no recomiendo textedit ya que puede arruinar el formato)

3) Desplácese hasta que encuentre /* Begin XCBuildConfiguration section */

4) Observe que tiene una depuración y secciones de liberación

5) En la sección de lanzamiento, eche un vistazo a CODE_SIGN_IDENTITY y "CODE_SIGN_IDENTITY[sdk=iphoneos*]" debería verse algo como esto:

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

6) Echa un vistazo a PROVISIONING_PROFILE y "PROVISIONING_PROFILE[sdk=iphoneos*]" deben tener este aspecto:

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

Esto debería coincidir con su perfil de aprovisionamiento en Xcode. Para ver si coinciden, abra Xcode> Ventana> Organizador> Dispositivos> Aprovisionamiento de perfiles> Haga clic con el botón derecho en el perfil> Revelar en Finder> El nombre de archivo de .mobileprovision es su ID de perfil.

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

8) asegúrese de que la segunda sección coincida con la primera sección para que CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*] , y PROVISIONING_PROFILE estén rellenados.


Una sugerencia que haré ya que nadie lo ha dicho aún: POR FAVOR, POR FAVOR, POR FAVOR, haga una copia de seguridad de todo su archivo .xcodeproj ANTES de comenzar a modificar su contenido. Si arruinas el archivo del proyecto y no tienes una copia de seguridad, obtendrás una experiencia muy desagradable.

Ser capaz de salir de una edición puede ser una bendición.