Intenté reconstruir una aplicación que funcionaba ayer. Recibí un mensaje de que un perfil había expirado, así que lo eliminé del iPod y de iTunes. Cuando elegí un nuevo perfil (uno con un * en el identificador), ahora aparece un error:
Error de signo de código: no se puede encontrar el perfil de aprovisionamiento (cadena larga).
¿Qué me estoy perdiendo? Miré a través de preguntas relacionadas y no vi este escenario ya.
fuente
Aquí hay una solución más simple que funcionó para mí y que no requiere la edición manual del archivo del 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 "Compilar", verifique la sección "firma de código" para ver si hay perfiles antiguos y reemplácelos por 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
fuente
Propiedades de proyecto y objetivos -> "Su perfil de aprovisionamiento" -> Aceptar
¡Todo funciona de nuevo!
fuente
Estoy de acuerdo con la respuesta de Brad, que puede solucionar este problema editando su objetivo / proyecto a mano, eliminando líneas como esta:
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.
fuente
Acabo 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 que todas las líneas PROVISIONING_PROFILE parecían ser correctas, sin que ocurriera la cadena de perfil "mala" que XCode no podía No encuentro
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.
fuente
Para lograr la solución de Brad completamente en Terminal, use estos comandos
cd [Xcode project parent]
vi [Xcode project name].xcodeproj/project.pbxproj
/[offending provisioning profile] [Enter]
dd
- eliminar toda la líneafuente
En mi caso, el problema se resolvió abriendo Window -> Organizer, seleccionando mi dispositivo y eliminando el antiguo perfil de aprovisionamiento en el panel "Aprovisionamiento" a la derecha. El viejo ya estaba marcado con un símbolo rojo de "x" pero el iPhone todavía lo estaba usando.
Además de ese perfil, también aparecía el nuevo (con el mismo nombre) y después de simplemente reiniciar la aplicación, la hice funcionar sin problemas.
fuente
Acabo de pasar una hora más o menos haciendo esto y con la ayuda del consejo de Brad y algunos cambios adicionales, todo funcionó.
Lo hice 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 paquete2) abra
project.pbxproj
con un editor de texto (no recomiende textedit ya que puede arruinar el formato)3) Desplácese hacia abajo hasta encontrar
/* Begin XCBuildConfiguration section */
4) Tenga en cuenta que tiene una sección de depuración y liberación
5) En la sección de lanzamiento, eche un vistazo
CODE_SIGN_IDENTITY
y"CODE_SIGN_IDENTITY[sdk=iphoneos*]"
debería verse así:6) Echa un vistazo
PROVISIONING_PROFILE
y"PROVISIONING_PROFILE[sdk=iphoneos*]"
deberían verse así:Esto debería coincidir con su perfil de aprovisionamiento en Xcode. Para ver si coinciden, abra Xcode> Ventana> Organizador> Dispositivos> Perfiles de aprovisionamiento> 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
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 diga/* End XCBuildConfiguration section */
8) Asegúrese de que la segunda sección coincide con la primera sección para que
CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]
, yPROVISIONING_PROFILE
están todos llenos de.fuente
Una sugerencia que haré ya que nadie lo ha dicho aún: POR FAVOR, POR FAVOR, haga una copia de seguridad de todo su archivo .xcodeproj ANTES de comenzar a modificar su contenido. Arruinar el archivo del proyecto y no tener copia de seguridad dará lugar a una experiencia muy desagradable.
Poder retirarse de una edición puede ser una bendición.
fuente
Acabo de encontrar este problema en mi XCode4. Para solucionarlo, debe poner todas las disposiciones correctas en la configuración de depuración y lanzamiento.
Intenté enviar (archivando) mi aplicación. Así que simplemente cambio las disposiciones de Depuración a "No codificar señal", y la disposición de Liberación a la disposición de la tienda de aplicaciones de mi aplicación.
Esto lo soluciona y me permite archivar normalmente. Espero que ayude.
fuente
Seleccione las líneas en la firma de códigos que están en blanco en Cualquier SDK de iOS y seleccione el certificado correcto.
fuente
La solución de Brad Smith funcionó para mí, pero también tuve que eliminar el campo CODE_SIGN_IDENTITY para que funcionara.
fuente
Lamentablemente, este enfoque no funcionó para mí. Pero aquí hay una solución que funcionó para mí (para que esto funcione, necesita un archivo de proyecto que funcione en Subversion más o menos):
Regresé 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 el control de código fuente de Xcode 4? ) - Usé Tortoise, mi máquina Windows y este Tutorial ( http://tortoisesvn.net/docs/nightly/TortoiseSVN_en /tsvn-howto-rollback.html ) para revertir a un archivo de proyecto anterior.
Como el Tutorial no funcionó para mí, simplemente utilicé Tortoise para guardar la revisión de trabajo de mi archivo de proyecto en un dispositivo USB para portarlo a mi mac. Después de eso, reemplacé el nuevo archivo de proyecto roto con el antiguo que funcionaba, lo limpié y funcionó de maravilla.
fuente
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:
fuente
Al menos en Xcode 5, esto es lo que resolvió el problema para mí:
Bajo perfil de aprovisionamiento, seleccione el perfil de aprovisionamiento infractor y luego seleccione un perfil de aprovisionamiento válido en el menú desplegable.
fuente
Puede eliminar la referencia anterior del archivo de aprovisionamiento. Luego, después de importar un nuevo perfil de aprovisionamiento y seleccionar Xcode Builder.
fuente