unknown ids development developer certificates certificado apple app iphone ios xcode ios-provisioning xcode-organizer

iphone - ids - Xcode no reconocerá mi nuevo perfil de aprovisionamiento



provisioning profiles apple (9)

  1. Cierre de xcode
  2. edith con texmate, youtproject.xcodeproj
  3. Busque esta línea "PROVISIONING_PROFILE[sdk=iphoneos*]" = "E8DEEBA3-FE0A-419F-9F7E-258572D55807";
  4. Borrar
  5. Reinicie xcode build & archive para empresa

El perfil de aprovisionamiento de desarrollo de mi aplicación expiró hace un par de semanas, así que fui al portal de aprovisionamiento para obtener uno nuevo. Después de obtenerlo, visité el Organizador de Xcode, eliminé el perfil caducado de mis dispositivos y mi Mac, luego importé el nuevo perfil. Xcode instala el perfil en mis dispositivos inmediatamente y mi aplicación se ejecuta nuevamente en los dispositivos.

El problema es que, si bien el Organizador puede ver el nuevo perfil e instalarlo normalmente, el IDE se confunde entre el antiguo y el nuevo. Cada vez que trato de construir la aplicación, falla inmediatamente. La consola de errores me dice que Xcode no puede encontrar el perfil anterior, ya que el GUID listado pertenece al anterior. Eso es extraño; Pensé que Xcode ya estaría al tanto del nuevo perfil.

He intentado eliminar el nuevo perfil de mis dispositivos y mi Mac, y luego volver a instalar el perfil. No funciona, Xcode sigue intentando buscar el anterior. También he intentado seleccionar un perfil diferente para hacer que Xcode olvide el anterior, y luego seleccionar el nuevo. Incluso he intentado ingresar manualmente el GUID del nuevo en la opción Otra . Sin embargo, Xcode sigue insistiendo en buscar el perfil antiguo, que ya ha desaparecido de mi Mac.

¿Cómo puedo convencer a Xcode de que he generado un nuevo perfil de aprovisionamiento para mi aplicación para que lo use?


Así es como lo hice en Xcode 4:

  1. Seleccione No firmar código en el proyecto> Configuraciones de compilación> Firma de código
  2. Limpia la construcción
  3. Constrúyelo de nuevo: debería mostrar un error como "esto requiere firma"
  4. Elija el nuevo perfil de la firma de código
  5. Reconstruir

En mi caso, con XCode 5, cuando mi certificado de desarrollador expiró, me encontré con este problema. Descargué manualmente el nuevo certificado y el nuevo perfil de aprovisionamiento. Agregué el certificado al llavero y el perfil de aprovisionamiento a los dispositivos en el organizador.

Sin embargo, XCode se quejó de que no puedo firmar la aplicación. Pensé que en las preferencias de XCode 5, todavía mostraba el antiguo perfil de aprovisionamiento y no se actualizaba con el nuevo a pesar de las numerosas recargas que hice allí.

Finalmente, utilicé la Utilidad de configuración del iPhone para eliminar el perfil de aprovisionamiento anterior y agregar el perfil de aprovisionamiento recién descargado. Después de la firma del código funcionó como se esperaba.


La mayoría de las respuestas no funcionaron para mí como parecen ser para versiones anteriores.

Para Xcode 8.3.2:

  1. Xcode-> Preferencias-> Cuentas
  2. Seleccione ID de Apple
  3. Haga doble clic en su equipo
  4. Haga clic en el menú desplegable ''+'' en la parte inferior izquierda para "Crear un certificado"
  5. Elija el desarrollo de iOS
  6. Haga clic en ''Hecho''

Después de hacer esto, pude ver que Xcode estaba usando el perfil más reciente haciendo clic en el ícono de información ''i'' al lado de "Perfil administrado de Xcode" en Objetivos-> General-> Firmando y confirmando que la fecha de ''Creado'' reflejaba la nueva.


Mi solución a este problema fue:

  1. Descarga tu nuevo perfil de aprovisionamiento.
  2. Haga doble clic en el perfil de aprovisionamiento para instalarlo.
  3. Vaya al siguiente directorio en su mac: /Users/<your.username>/Library/MobileDevice/Provisioning Profiles
  4. Encuentre el antiguo perfil de aprovisionamiento que ya no desea (pero sigue apareciendo en Xcode). Esto puede ser útil para este paso: https://github.com/chockenberry/Provisioning
  5. Bórralo
  6. Salir completamente de Xcode
  7. Reabrir Xcode
  8. Ahora debería poder seleccionar su nuevo perfil de aprovisionamiento

Para agregar a la solución anterior , puedes usar la encantadora gema xcodeproj para ayudar con cosas como esta. Tenga en cuenta que convierte su key = value; OpenStep key = value; estilo plist a XML. Nota: he encontrado que Xcode lo modifica nuevamente si realiza cambios en el archivo del proyecto en Xcode más adelante. Cualquiera de los estilos de archivo se compila bien en Xcode o desde la línea de comandos. Para una muestra de cómo lo uso.

project = Xcodeproj::Project.new(''Foo.xcodeproj'') csi_key = ''CODE_SIGNING_IDEDNTITY'' project.targets.each do |target| target.build_configurations.each do |conf| conf.build_settings[csi_key] = ''iPhone Developer: Cool Dood (XYZ123)'' unless conf.build_settings[csi_key] == nil end end

Aquí hay un resumen de cómo lo uso: https://gist.github.com/82times/5594887


Pensé que hacer doble clic en el perfil de aprovisionamiento descargado lo colocaría en xCode Organizer Archive, pero eso no funcionaría para mí. Los siguientes pasos finalmente funcionaron para mí.

  1. Abrir xCode
  2. Ir a Producto -> Destino -> Dispositivo iOS
  3. Ir a Producto -> Archivar

Pude corregir este error cambiándolo a "No firmar código" en Identidad de firma de código. Genere y obtendrá el error "la firma de código es necesaria para el tipo de producto ... bla ...". Luego regresa y selecciona el perfil correcto. Construye y todo bien. Esto me pasó porque mi certificado expiró y lo renové. Además de lo anterior, también tuve que eliminar el certificado anterior de mi llavero y del Organizador.


tl; dr: resulta que simplemente tuve que editar el archivo del proyecto manualmente para informarle a Xcode del nuevo perfil. Ahora, no sé por qué tuve que actualizar manualmente el archivo del proyecto. Tal vez hice algo mal durante el proceso de importar el nuevo perfil a Xcode, por lo que no se dio cuenta de que había entrado mi nuevo perfil. O el sistema de archivos se atragantó a medias y Xcode no pudo actualizarse. Oh bien.

Ahora para el divertido parte técnica:

IMPORTANTE: como con cualquier otra cosa que involucre la modificación de archivos, no debería modificarlos: asegúrese de hacer una copia de seguridad de su paquete .xcodeproj y / o de todo su proyecto Xcode, o asegúrese de que su proyecto Xcode se mantenga en el control de versión adecuado . No quiere estropearse y hacer que Xcode deje de construir su proyecto en su dispositivo, sin que haya nada en que apoyarse.

Me asomé al contenido del paquete .xcodeproj de mi aplicación (Xcode no se está ejecutando en este momento). Para verlos, abra la carpeta de su proyecto en Finder, luego presione Control y haga clic en su archivo .xcodeproj y elija Mostrar contenido del paquete :

Breeze.xcodeproj/ Daniel.mode1v3 Daniel.pbxuser project.pbxproj

Luego abrió project.pbxproj en un editor de texto (es texto, no binario), y buscó información de configuración de compilación.

Hay una sección etiquetada /* Begin XCBuildConfiguration section */ (que puedes encontrar usando la función de búsqueda de tu editor). Es una lista de entradas, cada una de las cuales representa una configuración de firma de código para un perfil dado en una configuración de construcción dada.

Aquí hay información sobre el perfil que utilizo para firmar mi binario para el desarrollo:

1D6058940D05DD3E006BFB54 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Daniel Tan (XXXXXXXXXX)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = Breeze_Prefix.pch; GCC_VERSION = com.apple.compilers.llvmgcc42; INFOPLIST_FILE = "Breeze-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 4.0; PRODUCT_NAME = "Breeze"; "PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE"; SDKROOT = iphoneos; }; name = Debug; };

Es de destacar esta línea:

"PROVISIONING_PROFILE[sdk=iphoneos*]" = "36F99F3E-805F-47A7-95D4-FF8324711CBE";

Ese es el GUID reportado por el error de compilación; el identificador de mi antiguo perfil de aprovisionamiento caducado.

Todo lo que tenía que hacer era reemplazarlo con el GUID del nuevo perfil:

"PROVISIONING_PROFILE[sdk=iphoneos*]" = "E6E6369E-FD58-4886-9C3A-72C9DAE36501";

Abro mi proyecto en Xcode nuevamente, y ahora mi aplicación se construye e instala en mis dispositivos con éxito, usando el nuevo perfil de aprovisionamiento.