El firmante no es un error válido

Creé una comstackción ad hoc de mi aplicación y me gustaría que otra persona la instalara. Tengo su ID de dispositivo (dos en realidad) en el perfil de aprovisionamiento. Mi certificado es el mismo para el aprovisionamiento ad hoc y de la tienda de aplicaciones. El certificado es válido en llavero. Seleccioné el perfil ad hoc en Xcode para esta comstackción, que está vinculada al certificado de distribución.

Le envío al usuario el archivo de aprovisionamiento y el archivo .app. Caen ambos en iTunes y se sincronizan y luego obtienen este error en ambos dispositivos:

The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid. 

Eliminé todos los perfiles de mi iPhone, solté los dos archivos anteriores en iTunes, sincronicé e instalé la aplicación con éxito. No puedo hacer que repro para mí. Necesito reprogtwigr este problema localmente para resolver el problema. ¿Alguna idea de cómo se puede hacer eso?

¿Agregaste derechos? Poner la firma en el nivel de destino, no en el nivel de proyecto? Seleccione el perfil Ad Hoc? HACER una limpieza antes de la construcción? Seleccione el dispositivo ad hoc para la construcción?

La mejor opción es seguir la documentación de Apple exactamente , conseguir que la configuración de tu construcción coincida exactamente con la de Apple.

Es una buena idea verificar el archivo incluido en la provisión de dispositivo móvil que viene incluido en el archivo .app para asegurarse de que el UID esté allí. Solo haz lo siguiente:

  1. descomprimir ProblemApp.ipa
  2. cd Payload / ProblemApp.app
  3. pico inbedded.mobileprovision

Busque el UID de su dispositivo dentro de este archivo. Si no está allí, probablemente no se haya agregado al archivo de aprovisionamiento dentro del portal.

De los documentos:

Crear una aplicación para la distribución Ad Hoc es similar a crear una aplicación para la distribución de App Store, con la excepción de dos pasos adicionales. En primer lugar, debe crear un perfil Ad Hoc Distribution Provisioning y agregar los UDID de los dispositivos iOS a los que desee distribuir mediante el Portal de provisión de progtwigs para desarrolladores de iPhone. En segundo lugar, debe crear un archivo de derechos de firma de código. Para obtener información acerca de cómo crear un archivo de derechos, lea la sección Administración de derechos de aplicaciones de la Guía de desarrollo de iOS.


Administrar derechos de aplicaciones

iOS proporciona acceso a recursos y capacidades especiales, tales como si su aplicación puede ser depurada, a través de propiedades llamadas derechos. Para especificar información de derechos en su aplicación, agregue un archivo de lista de propiedades de titularidad que contenga definiciones de titularidad (pares clave / valor) para su proyecto. Cuando construyes tu aplicación, Xcode copia el archivo al paquete de aplicaciones generado.

Para agregar un archivo de lista de propiedades de derechos a su proyecto:

En la lista Grupos y archivos, seleccione el grupo Recursos. Elija Archivo> Nuevo archivo. Elija la plantilla iOS> Firma de código> Derechos. Nombre el archivo Entitlements.plist. (Puede usar cualquier nombre; simplemente asegúrese de que coincida con el valor de la configuración de creación de derechos de firma de código, como se explica más adelante en esta sección). Establezca el tipo del archivo de lista de propiedades en Derechos de iPhone. Con el archivo seleccionado en el editor de texto, elija Ver> Tipo de lista de propiedades> Derechos de iPhone plist.

Agregue sus entradas de titularidad al archivo. Para cada propiedad de derecho que necesita definir:

Haga clic en los botones Agregar niño o Agregar hermanos a la derecha de la fila seleccionada. El botón Agregar niño tiene tres líneas que representan una jerarquía, el botón Agregar hermano tiene un signo más (+) en él. Elija la propiedad de derecho en el menú emergente que aparece. Si el derecho que necesita agregar no aparece en el menú, elija Ver> Tipo de lista de propiedades> Predeterminado para Tipo de archivo. Luego ingrese el nombre y tipo de la clave de autorización.

Ingrese el valor de la propiedad. Establezca la configuración de creación de derechos de firma de código para el destino en el nombre del archivo de lista de propiedades de derechos recién agregado.


Una vez que haya creado su archivo de derechos y lo haya agregado a la configuración de creación de derechos de firma de código, abra el archivo de derechos y agregue o edite la clave de obtención de tareas y configúrela como falsa.

Además de comprimir su paquete .app para distribuir su comstackción Ad Hoc a probadores, etc., se recomienda que también comprima el perfil de suministro antes de distribuir porque ciertos clientes y servidores de correo electrónico pueden dañar el perfil de suministro.

Para obtener información sobre la distribución Ad Hoc, lea la sección Publicación de aplicaciones para pruebas en la Guía de desarrollo de iOS.

Me encontré con este problema recientemente con un probador en una comstackción reciente. Resultó que mi probador había reiniciado su iPod Touch y eliminado el perfil de aprovisionamiento en el proceso.

Solo algo a considerar.

Obtuve este error haciendo algo más tonto que cualquier otra persona ha publicado. Agregué nuevos dispositivos al perfil, pero olvidé descargar la versión actualizada, agregarla a Xcode y apuntar el proyecto a ella. Cuando lo configuré correctamente, los probadores pudieron instalar la aplicación correctamente.

Aquí hay otro divertido … si tienes archivos de autorización separados para iphone y ipad, asegúrate de establecer el objective para el archivo para cada comstackción específica … de lo contrario, no se mostrará en la comstackción y obtendrás este error

Llegué aquí porque tenía el mismo problema que el OP. Resultó que no tenía el UDID en el archivo de derechos, aunque estoy seguro de que utilicé la actualización en el organizador XCode. Otra actualización no hizo diferencia.

Al final, eliminé todos los perfiles de provisión y luego realicé una actualización. Las cosas ahora funcionan.

No tengo idea si esto es un error en mi configuración, o un error del operador. Pero solo en caso de que alguien más se encuentre en esta situación: puede ser útil eliminar sus perfiles de aprovisionamiento y luego hacer una actualización.

Esto no funcionaría para mí con un iphone 3G con IOS 3.1.3. Verifiqué que el perfil de distribución no estaba en el teléfono mirando configuración-> general (no había una opción de perfil en la lista).

Luego instalé la utilidad de configuración iphone:

http://support.apple.com/kb/DL851

Entonces:

  1. ejecutar configuración iphone
  2. arrastre y suelte el archivo embedded.mobileprovision en la aplicación
  3. haga clic en el dispositivo en el lado izquierdo
  4. haga clic en la pestaña “perfiles de suministro”
  5. haga clic en el perfil y luego haga clic en el botón “instalar”

Entonces la aplicación se instaló muy bien.

Tuve el mismo problema que el OP también. Error tonto: solté accidentalmente los dos últimos dígitos del dispositivo que estaba tratando de distribuir ad hoc cuando lo registré como un dispositivo.

Tengo el mismo problema dos veces ( xcode 4.2 ios 5 )

En primer lugar, olvidé agregar armv6 en la architecture

Segundo, el tiempo que he creado para muchos archivos de aprovisionamiento con el mismo id. De desarrollador que debería eliminar otros key-chain de acuerdo con el uso del identificador de paquete … y eliminé por error el válido y usé otro kechain