Presentación de la aplicación iOS: firma no válida

Estoy luchando con este problema desde hace más de una semana, he intentado todo lo que pude encontrar en Google sin suerte. Esta es la primera vez que bash enviar una aplicación a App Store, pero sigo recibiendo este correo electrónico después de cada bash:

Firma inválida: asegúrese de haber firmado su request con un certificate de distribución, no un certificate ad hoc o un certificate de desarrollo. Verifique que la configuration de firma de código en Xcode sea correcta en el nivel de destino (que anula cualquier valor en el nivel de proyecto). Además, asegúrese de que el package que está cargando se creó utilizando un objective de lanzamiento en Xcode, no un objective de simulador. Si está seguro de que la configuration de firma de código es correcta, elija "Limpiar todo" en Xcode, elimine el directory "compilation" en el Finder y vuelva a generar el destino de liberación.

así que aquí es lo que estoy haciendo:

  • Tengo mi certificate de distribución en el llavero de inicio de session, con la key pública y privada.
  • Tengo el perfil de aprovisionamiento de distribución con el mismo certificate que he creado anteriormente.
  • El ID del package en mi perfil de aprovisionamiento es el mismo en mi aplicación de connection de iTunes y el mismo en la configuration general de Xcode.
  • La misma versión (0.8.2) en la aplicación de connection de iTunes y Xcode.
  • Estoy construyendo con el dispositivo seleccionado, no un simulador (pero no tengo un dispositivo conectado a la Mac).
  • la parte de firma de código en la configuration de compilation (tanto para el objective como para el proyecto).
  • Tengo "iPhone Distribution: …" para todo y también estoy seleccionando el perfil de suministro de distribución.

¿Qué me falta? He mirado por todas partes y todo lo que encuentro son personas con versiones incorrectas o un ID de package incorrecto.

Estoy usando Cordova e Ionic para build mi aplicación, no sé si eso tiene algo que ver con eso.

He visto la guía de solución de problemas de Apple sobre este problema y ejecuté este command:

codesign –verify -vvvv -R = 'anchor apple genérico y certificate 1 [field.1.2.840.113635.100.6.2.1] existe y (hoja de certificate [field.1.2.840.113635.100.6.1.2] existe o hoja de certificate [campo. 1.2.840.113635.100.6.1.4] existe) '/path/to/the.app

Obtengo: a sealed resource is missing or invalid file modified: /path/to/MyApp.app/MyApp sugieren ejecutar esto para resolver el problema: dot_clean path/to/xcodeproject

Pero eso no ayudó, sigo recibiendo el mismo error. Por favor ayuda, estoy fuera de pistas

EDITAR (solución)

Apple es simplemente una gran compañía estúpida, ¡ninguna de las soluciones sugeridas en ninguna de las publicaciones me ayudó! Fue solo el estúpido process de la manzana, tenía un personaje inválido "?" que debería haberse eliminado del nombre de la aplicación. Deseo que Xcode coulde valide primero el nombre antes de entrar en cualquiera de los processs de envío y testing.

Creo que no está utilizando el perfil de distribución adecuado. Cree un nuevo perfil de distribución en iTunes Connect para la presentación de la tienda de aplicaciones, no el anuncio especial. ver la siguiente image

introduzca la descripción de la imagen aquí

1) Luego, revise su identificador de package que debe coincidir exactamente con el certificate de la tienda recién creado.

2) Simplemente borre sus certificates en el Portal de aprovisionamiento y actualice el nuevo certificate en Xcode.

3) Goto Organizer / Provisioning Profiles / Refresh y permite que Xcode obtenga los últimos.

4), luego vaya al objective del proyecto-> configuration de compilation-> opciones de compilation-> valide el producto y cambie su modo de liberación a sí. mira la image a continuación

introduzca la descripción de la imagen aquí

luego, limpia tu proyecto y genera el file.

Asegúrese de que su ID de package coincida con la ID de la aplicación y el esquema de modificación del proyecto Cambiar para su publicación.

Si no testing este enlace http://stackoverflow.com/questions/5196309/ios-code-signing-fails-a-sealed-resource-is-missing-or-invalid

Tuve el mismo problema hace un par de días y, al final, tuve que limpiar mis certificates de distribución de Keychain Access, eliminarlos y volver a generarlos desde el portal del desarrollador. Después de volver a instalar los certificates, pude crear y ejecutar la aplicación en el dispositivo físico, luego archivarlo y enviarlo a la App Store.

Todos los pasos que enumeró aquí están bien. Si puede conectarse a un dispositivo físico y asegurarse de que su certificate figure entre corchetes para la configuration de firma de código.

construir configuraciones

Tuve que pasar por la misma frustración para saber que el mejor recurso para aprender cómo funciona Provisioning es la Guía de distribución de aplicaciones .

Además, hay algunos hilos en StackOverflow que tratan los mismos problemas o similares, como este: Envío de aplicaciones: Binario no válido: firma no válida

¡Buena suerte!

Me encontré con el mismo problema que este hoy, resultó ser un file .DS_Store en el directory de resources. Eliminado ese file antes de build y luego todo salió bien.