2010-12-17 16 views
11

He estado combatiendo este problema durante días ya punto de golpearme la cabeza contra la pared y ponerme fuera de mi código de firma/aplicación miseria de sumisión.Error de signo de código: un perfil de aprovisionamiento válido que coincide con el identificador de la aplicación ... no se pudo encontrar

Tengo una aplicación que se ha enviado a la tienda de aplicaciones y no acepté ningún problema (ver 1.0.0). Pude publicar la primera actualización (ver 1.0.1) con un poco de prueba un error usando XCode 3.2.4 y iOS 4.1 a través de Application Loader. Ahora estoy en XCode 3.2.5 y iOS 4.2 y estoy tratando de publicar una actualización (ver 1.0.2) a través de XCode Organizer.

Puedo compilar satisfactoriamente mi aplicación con la provisión de AppStore Distribution cuando configuro mi identificador de paquete en el info.plist en "com.myCompany.myApp". Pero cuando intento Validar/Enviar la compilación a través de Organizer, aparece un error que dice "Identificador de paquete: com.myCompany.myApp difiere del identificador de paquete anterior ABC123XYZ1.com.myCompany.myApp". Al parecer, cuando primero presenté mi aplicación a través de iTunes, conecté la aplicación completa (AppId). BundleIdentifer sintaxis. Lo he verificado al ver la identificación del paquete en iTunes connect.

Así que, lógicamente, agregué el prefijo de AppId al identificador de paquete en el archivo Info.plist. Cuando hago esto e intento volver a compilar, aparece el mensaje "Error de signo de código: no se pudo encontrar un perfil de aprovisionamiento válido que coincida con el identificador de la aplicación ...". y la compilación falla

He intentado todo lo que he leído todo en Internet con respecto a estos dos errores sin resolver el problema. Estoy en una situación de catch 22. No puedo compilar la aplicación con el prefijo de AppID en el identificador de paquete y no puedo enviarlo a iTunes Connect sin él. Además, el error iTunesConnect se produce cuando se intenta utilizar Application Loader para cargar la aplicación.

¡Estoy preparado para ofrecer mi primer hijo a cualquiera que pueda ayudarme a salir de este infierno de envío de firmas y aplicaciones de código!

Respuesta

12

Así que después de esperar 2 meses por una respuesta del equipo de iTunes, que nunca llegó, he descubierto una forma de solucionar este problema y he conseguido que mi aplicación se cargue. La clave es hacer que el identificador del paquete coincida con el ID del paquete que está registrado en iTunes Connect. En este caso, el ID del paquete en iTunesConnect tenía el formato 1234567890.com.companyname.appname. De alguna manera, cuando creé mi aplicación por primera vez, incluí el identificador de la semilla del paquete que, de mi investigación, no debería haber sido incluido cuando la aplicación fue creada en iTunesConnect.

Para resolver el problema, creé una nueva ID de aplicación en el portal de suministro en forma de 1234567890.1234567890.com nombredelaempresa.appname y luego creé una nueva disposición móvil de distribución basada en este nuevo AppID. Descargué e instalé la provisión móvil en xCode Organizer. En el info.plist de mi proyecto xCode, establecí el identificador del paquete en 1234567890.com nombredelaempresa.nombreapp. Esto permitió que xCode hiciera coincidir la provisión móvil con el identificador del paquete especificado en el info.plist y que construyera y firmara mi aplicación con un identificador de paquete que coincidiera con el identificador del paquete en iTunesConnect. En el organizador pude validar y cargar la aplicación con éxito.

+0

Esto funcionó perfecto, gracias. Tendré más cuidado la próxima vez. –

+0

Tuve que lidiar con el mismo problema. ¡Muchas gracias! – aiham

+0

Esto me salvó en Unity. Estaba incluyendo la identificación del paquete en la cadena; su eliminación hizo que la provisión fuera reconocida. –

0

Incluso suena raro que el identificador de su paquete haya cambiado, hay una cosa que me viene a la mente que podría probar.

Cree un nuevo perfil de aprovisionamiento, cuyo identificador coincide con el que utilizó para enviar su primera versión de su aplicación.

+0

Creé un nuevo perfil de aprovisionamiento de AppStore Distribution y lo vinculé al mismo ID de aplicación que el original que se creó. Obtuve el mismo problema. XCode no reconoce el perfil de aprovisionamiento cuando Bundle Identifer en el info.plist incluye el prefijo de ID de la aplicación. No puedo crear una nueva ID de aplicación con el mismo paquete indentifer, ya que no está permitido. No quiero crear una nueva ID de aplicación con un identificador de paquete diferente, ya que creo esto discoteca néctese la aplicación de sus versiones anteriores. –

+0

por lo que, por alguna extraña razón, su ID de paquete en itunes connect contiene el ID de la aplicación, que no debería. Si eso es así, me pondría en contacto con el servicio de asistencia técnica, ya que no ingresas tu ID de paquete manualmente en itunes connect, sino que seleccionas una ID de aplicación ya presente. (tal vez esto ha sido diferente antes de presentar por primera vez una aplicación) –

+0

Eso es correcto. La identificación del paquete en iTunesConnect es "AppID.com.myCompany.myApp". Supongo que cuando presenté mi aplicación por primera vez en la época de iOS 3.1.3 iTunesConnect me permitió incluir el AppID. Así que mi único recurso es contactar a Apple y ver si pueden cambiarlo (lo cual dudo) o es posible ingresar "AppID.com.myCompany.myApp" en el campo Identificador de paquete en el info.plist y obtener xCode reconocer que Tengo una provisión móvil válida? –

1

En mi caso, primero tuve que crear la aplicación con Cmd-B.

Aparece un acceso de ventana de llavero que me pide que "Permita" (o "Permitir siempre") Xcode para acceder al llavero.

Solo THEN podría realmente ejecutar el programa para iniciarlo en mi iPhone.

Aparentemente, golpear solo ejecutar no funcionó.

(Por cierto, recuerde que debe primero firmar su aplicación con el "iPhone Desarrollador: Su nombre()". Llave

0

que tenía el mismo tema y con el asesoramiento de codeySmurf anterior tuve la oportunidad de volver a utilizar el mismo ID y eliminó ese error.

Cuestiones relacionadas