2010-09-27 19 views
37

He estado trabajando en un proyecto de iPhone con iOS 4.0. Acabo de descargar Xcode 3.2.4 con iOS SDK 4.1 para poder trabajar con iOS actualizado. Al abrir el proyecto en el Xcode dañado, encontré que el objetivo decía "Falta SDK base". Lo arreglé siguiendo las instrucciones here.Xcode 'CodeSign error: se requiere la firma del código'

Ahora en que intento construir apuntando a cualquier versión de iOS, recibo este error (con la versión correspondiente se hace referencia en el texto de error):

CodeSign Error: code signing is required for product type 'Application' in SDK 'Device - iOS 4.1'

tengo el equipo de aprovisionamiento perfil creado por Xcode instalado, que El Perfil de Aprovisionamiento tiene mi certificado, y la Entidad de firma de código seleccionada es 'Desarrollador de iPhone: Aaron Milam'.

¿Alguna idea de lo que podría faltar aquí?

+0

pregunta complementaria: [Xcode falla con "firma de código" Error] (http://stackoverflow.com/q/13962341/89035) – rjstelling

+0

lista de verificación antes de continuar: Xcode abierta - > preferencias -> verifique si el elemento existe en la ID de Apple, seleccione el agente y vea los detalles -> verifique que existan identidades de firma, existen perfiles de aprovisionamiento. si no existen identidades de firma, debe agregar los certificados dev de apple. entonces debería estar bien. – Desmond

Respuesta

39

Ocurre cuando Xcode no reconoce su certificado.

Es un lío para resolverlo, hay muchas posibilidades para ayudarte.

Pero lo primero que debe intentar es eliminar en la pestaña "Ventana" => Organizador, el aprovisionamiento que hay en su dispositivo. Luego vuelva a agregarlos (descárguelos nuevamente en el sitio web de Apple). Y trata de compilar de nuevo.

Por cierto, ¿registró en la ventana de información del proyecto la "identidad de firma de código"?

Buena suerte.

+0

Lo intentaré. ¡Gracias! – Aaron

+2

Si no funciona, entonces: 1 °) Reinicia tu computadora. 2 °) Elimine todos los certificados de su computadora (relacionados con iPhone, no todos ^^). 3 °) Re-descargarlos. Sin tener tu computadora cerca de mí es un poco difícil de resolver: ¡Buena suerte! – Vinzius

+2

Así que seguí sus instrucciones. Encontré que en Xcode, se seleccionaba para la firma de código. Volví a seleccionar el mío, ¡y eso terminó funcionando! ¡Gracias por tu ayuda! – Aaron

3

Asegúrese de haber creado correctamente los perfiles de aprovisionamiento. si lo hizo ... debe tener ... clave pública, clave privada y Certificado en Acceso a Llaveros. comprobar si tiene todos estos ..

XCode 3.2.4 Viene con el aprovisionamiento de dispositivos auto ... por lo que sólo tiene que iniciar sesión en su cuenta desarrolladores se descargará todos los perfiles válidos ..

Si tiene todo lo que necesita en keychain y perfiles descargados ... Al seleccionar iPhone Developer: Aaron Milam '. en la configuración de compilación ... asegúrate de haber seleccionado Configuración (en la parte superior superior izquierda, dentro de Objetivo-> Compilar) para la que quieras crear. o puede hacer toda la configuración para realizar cambios en todas las configuraciones disponibles, por ejemplo, depuración, versión, etc.

0

¿Ha actualizado la versión de firmware del iPhone que está probando?

+0

Sí. De hecho, acaba de llegar por correo con la última versión. Revisé las actualizaciones para estar seguro. – Aaron

6

La causa más común, teniendo en cuenta que todos los certificados están instalados correctamente, no especifica la Identidad de firma de código en la configuración de Objetivo activo junto con la configuración del Proyecto. Cambie estos a iPhone Developer (Xcode seleccionará el perfil correcto dependiendo de la coincidencia de ID de aplicación).

  • En Xcode, el cambio del simulador a la de dispositivos (en el desplegable de la parte superior de la ventana de Xcode), por lo que su objetivo para la implementación de aplicaciones será el dispositivo.

  • El ID predeterminado que es un ID de comodín es como capturar todo iD, cuando está asociado a la firma de código (si está utilizando archivos de muestra para compilar, obviamente no tendrá importes de com.coolapps.appfile, en En ese caso, sin el "Perfil de Aprovisionamiento del equipo", su compilación fallaría.Entonces querrá configurar esto en su

  • Xcode-> Proyecto -> Editar configuración del proyecto-> Construir (pestaña) -> Identidad de firma de código (encabezado) -> Cualquier iOS (cambiar de cualquier simulador de iOS) -> (seleccione 'iPhone Developer' como valor y se usará por defecto el perfil de desarrollo comodín aprovisionamiento (Equipo de aprovisionamiento perfil: *)

y también (muy importante)

  • Xcode-> Proyecto -> Editar objetivo activo -> Construir (pestaña) -> Identidad de firma de código (encabezado) -> Cualquier iOS (cambiar de cualquier simulador de iOS) -> (seleccionar 'iPh un desarrollador' como valor y se usará por defecto el perfil de desarrollo comodín aprovisionamiento (Equipo de aprovisionamiento Perfil: *)

pasos completos para un principiante en: http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code-sign-error/

8
  • Me encanta desbordamiento de pila:

  • Me di cuenta de que un tiempo demasiado específico no es suficiente porque es posible que tengamos diferentes versiones de Xcode, tengo 2 versiones de xcode en el mismo Mac Pro. Así que aquí me gustaría proporcionar una instrucción general que espero funcione para todas las versiones de Xcode:

  • Mis 2 versiones son xcode 3.2.6 y 4.0. Necesita encontrar (incluso google para la configuración) su Xcode BUILD SETTINGS y su CÓDIGO DE FIRMAR bajo CÓDIGO DE SEÑALIZACIÓN usted tiene IDENTIFICACIÓN DE IDENTIFICACIÓN DE CÓDIGO Esto le proporciona una lista de IDENTIFICADORES (si no tiene IDENTIFICADORES vaya aquí para obtener uno y se requiere registro) https://developer.apple.com/ios/manage/overview/index.action - siga estas instrucciones de Apple "Obtenga su aplicación en un iOS con el Asistente de provisión de desarrollo") Si tiene una lista de identificadores, simplemente seleccione una válida y vuelva a ejecutar su Xcode. ¡Funcionará!

  • 3.2.6 específico: haga clic en Proyecto -> Configuración del proyecto -> Construir (pestaña) -> hay un desplazamiento hacia abajo porque la lista es larga ASEGURÁNDOSE de desplazarse hacia abajo para encontrar su CÓDIGO DE SEÑALIZACIÓN sección

  • 4.0 específico: en la ventana xcode, haga clic en el archivo de proyecto que quede más colum -> luego en la columna siguiente, haga clic en su aplicación de destino -> busque CÓDIGO DE FIRMAS y asigne un IDENTIFICADOR. Debería funcionar para usted.

¡Hecho!

1

Otra posibilidad: cuando compile para Archivar, asegúrese de que la opción Archivar en su esquema esté configurada para Distribución, no para Liberar.

Ir a Producto -> Editar esquema Esto abre un nuevo cuadro de diálogo.

Seleccione Archivo a la izquierda. Asegúrese de que la configuración de compilación sea Distribución.

2
  1. Rellenar "de firma de código" en tanto "Proyecto" y "Objetivos" sección
  2. Seleccionar entradas válidas en "código de identificación de firma" en tanto "depuración" y " Release "
  3. En" Debug "seleccione Desarrollador certificado
  4. En "lanzamiento" seleccione su Distribuidor certificado

Siguiendo estos 4 pasos siempre se resuelve mis problemas.

20

Asegúrese de que el código señal en la línea de "cualquier SDK de iOS" y no "Depuración/Distribución/Release"

Aquí es exactamente lo que hice: la identidad firma

Código ->no firme código
* Depurar ->no lo hacen señal de código
** cualquier iOS SDK -> [perfil desarrollador]
* Distribución ->No firme código
** cualquier iOS SDK -> [perfil AppStore]
* Lanzamiento ->no firme código
** cualquier iOS SDK -> [perfil AdHoc]

Cuando pongo mis perfiles un nivel arriba (en Debug/Ditribution/Release), no funciona por alguna razón (¿error?).

¡Espero que ayude a algunos de nosotros!

+0

¡Tú, campeón! Esto solucionó mis problemas de firma. – Pedro

+0

¡Esto funcionó para mí! +1 – Damien

+0

Esto no debería funcionar, ¡pero funciona! –

0

Uso Xcode 4.3.2, y mi problema es que hay una carpeta dentro de otra carpeta con el mismo nombre, por ejemplo myFolder/myFolder /.

La solución fue cambiar el nombre de la segunda carpeta, por ejemplo, myFolder/_myFolder y se solucionó el problema.

Espero que esto pueda ayudar a alguien.

+0

Es un poco tonto cómo Xcode no le permite tener varias carpetas del mismo nombre, ¿verdad? – Aaron

+0

@ Aaron sí lo es, espero que solucionen este "error". – marcos1490

0

Tal vez la fecha y la hora de su mac son incorrectas. Solo corrígelos.

2

Summarised form an answer to Xcode fails with "Code Signing" Error

project.pbxproj archivos se pueden combinar de tal manera que dos líneas CODE_SIGN_IDENTITY se pueden insertar. Eliminar uno de estos normalmente soluciona el problema.

He creado script sencillo para ayudar a diagnosticar este problema se puede encontrar aquí: https://gist.github.com/4339226

Una respuesta completa se puede encontrar here.

0

En /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist archivo

cambio del CODE_SIGNING_REQUIRED SÍ

a

CODE_SIGNING_REQUIRED NO

Reiniciar Xcode

2

Después de probar todas las respuestas anteriores, y todo lo demás que pudiera th de tinta desde dentro de Xcode 4.6, me fijo esto con los siguientes pasos:

  1. Cerrar Xcode
  2. Haga clic derecho en .xcodeproj archivo -> Mostrar contenido del paquete
  3. Editar project.xcodeproj en un editor de texto
  4. Búsqueda de "CODE_SIGN_IDENTITY" - habrá pares de líneas de la siguiente manera:
CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)"; 
"CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)"; 

me encontré con 2 objetivos con el valor de esa manera, y 2 de destino s con

CODE_SIGN_IDENTITY = ""; 
"CODE_SIGN_IDENTY[sdk=iphoneos*]" = ""; 

que copiar el antiguo par de líneas sobre el segundo par de líneas para todos los casos en este último par emtpy.

Luego reinicié Xcode, y funciona bien ahora.

+0

Wow, esto realmente resolvió ese estúpido error para mi proyecto (Testapplication from SendBird). Esto me llevó una hora entera averiguarlo. Gracias. Hice todos '' '' 'y Xcode dejó de quejarse. – DevAndArtist

1

Como ya se mencionó aquí, si no desea codificar la aplicación, puede establecer CODE_SIGNING_REQUIRED en NO. Aquí es el método para hacerlo sin ningún tipo de proyecto/archivos modificación:

crear el archivo NoCodeSign.xcconfig:

CODE_SIGNING_REQUIRED = NO 

Conjunto XCODE_XCCONFIG_FILE variable de entorno de ruta a este archivo:

export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig 

Ahora se puede construir su aplicación sin la firma de código.

+0

El contenido de 'NoCodeSign.xcconfig' debe ser' CODE_SIGNING_REQUIRED = NO' obviamente –

Cuestiones relacionadas