Pregunta

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

Envío al usuario el archivo de aprovisionamiento y el archivo .App. Dejan caer tanto en iTunes y sincronizar este error en ambos dispositivos:

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

He eliminado todos los perfiles de mi iPhone, dejé caer los dos archivos anteriores en iTunes, sincronizado e instalé la aplicación con éxito. No puedo hacer que se reproduzca para mí. Necesito reproducir este problema localmente para descubrir el problema. ¿Alguna idea de cómo se puede hacer eso?

¿Fue útil?

Solución

¿Agregaste derechos? ¿Poner la firma en el nivel objetivo, no el nivel del proyecto? ¿Seleccionar el perfil ad hoc? ¿Hacer una limpieza antes de la construcción? ¿Seleccione el enemigo del dispositivo ad hoc la compilación?

La mejor opción es seguir la documentación de Apple exactamente, obtenga su configuración de compilación para exactamente coincidir con los de Apple.

Otros consejos

Es una buena idea verificar el archivo IMBedded.Mobileprovision que viene incluido en el archivo .App para asegurarse de que el UID esté allí. Solo haz lo siguiente:

  1. descomparar problemaspp.ipa
  2. CD Payload/ProblemApp.App
  3. Pico incrustado. Mobileprovision

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

De los documentos:

Construir una aplicación para la distribución ad hoc es similar a la construcción de una aplicación para la distribución de la tienda de aplicaciones, con una excepción de dos pasos adicionales. Primero, debe crear un perfil de aprovisionamiento de distribución AD HOC y agregar los UDID de los dispositivos iOS que desea distribuir para usar el portal de aprovisionamiento del programa de desarrolladores de iPhone. En segundo lugar, debe crear un archivo de derechos de firma de código. Para obtener información sobre cómo crear un archivo de derechos, lea la sección Gestión de derechos de la aplicación de la Guía de desarrollo de iOS.


Gestión de los derechos de aplicación

iOS proporciona acceso a recursos y capacidades especiales, como si su aplicación se puede depurar, a través de propiedades llamadas derechos. Para especificar información de derecho en su aplicación, agrega un archivo de lista de propiedades de derecho que contiene definiciones de derechos (pares de clave/valor) a su proyecto. Cuando crea su 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 de grupos y archivos, seleccione el grupo de recursos. Elija Archivo> Nuevo archivo. Elija la plantilla iOS> Código de firma> de derechos. Nombra el archivo Entitlements.plist. (Puede usar cualquier nombre; solo asegúrese de que coincida con el valor de la configuración de compilación de los derechos de firma de código, como se explica más adelante en esta sección). Establezca el tipo de archivo de lista de propiedades en los derechos de iPhone. Con el archivo seleccionado en el editor de texto, elija Ver> Tipo de lista de propiedades> IPhone Dertitlements Plist.

Agregue sus entradas de derecho al archivo. Para cada propiedad de derecho debe definir:

Haga clic en el niño Agregar o agregar botones hermanos a la derecha de la fila seleccionada. El botón Add Child tiene tres líneas que representan una jerarquía, el botón Agregar hermano tiene un signo más (+). 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> Valor predeterminado para el tipo de archivo. Luego ingrese el nombre y el tipo de clave de derecho.

Ingrese el valor de la propiedad. Establezca la configuración de compilación de los derechos de firma de código para el objetivo al nombre del archivo de lista de propiedades de derechos recién agregados.


Una vez que haya creado su archivo de derechos y lo haya agregado a su configuración de compilación de derechos de firma de código, abra el archivo de derechos y agregue o edite la tecla Get-Task-ALTOW y estés en FALSE.

Además de comprimir su paquete .App para distribuir su compilación ad hoc a los evaluadores, etc. Se recomienda que también comprime el perfil de aprovisionamiento antes de distribuir porque ciertos clientes y servidores de correo electrónico pueden corromper el perfil de aprovisionamiento.

Para obtener información sobre la distribución ad hoc, lea las aplicaciones de publicación para la sección de pruebas en la Guía de desarrollo de iOS.

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

Solo algo a considerar.

Recibí este error haciendo algo más tonto de lo que nadie ha publicado. Agregué nuevos dispositivos al perfil, pero olvidé descargar la versión actualizada, agregarla a XCode y señalarlo. Cuando lo configuré correctamente, los probadores pudieron instalar la aplicación bien.

Aquí hay otro divertido ... Si tiene archivos de derecho separados para iPhone y iPad, asegúrese de establecer el objetivo para el archivo para cada compilación específica ... de lo contrario no se mostrará en la compilación y lo obtendrá. error

Llegué aquí porque tenía el mismo problema que el OP. De hecho, resultó que no tenía el UDID en el archivo de derechos, aunque estoy seguro de que usé actualizar en el organizador XCode. Otra actualización no hizo ninguna diferencia.

Al final eliminé todos los perfiles de aprovisionamiento y después hizo una actualización. Las cosas ahora funcionan.

No tengo idea de si esto es un problema técnico en mi configuración o un error del operador. Pero en caso de que alguien más se encuentre en esta situación: puede pagar eliminar sus perfiles de aprovisionamiento y luego refrescarlo.

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 la configuración-> General (no había una opción de perfil en la lista).

Luego instalé la utilidad de configuración de iPhone:

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

Después:

  1. ejecutar la configuración de iPhone
  2. Arrastre y suelte incrustado.
  3. Haga clic en el dispositivo en el lado izquierdo
  4. Haga clic en la pestaña "Profiles de aprovisionamiento"
  5. Haga clic en el perfil y luego haga clic en el botón "Instalar"

Entonces la aplicación se instaló bien.

I had the same problem as the OP too. Dumb mistake: I accidentally dropped the last two digits off the device I was attempting to ad hoc distribute to when I registered it as a device.

I got same problem two times ( xcode 4.2 ios 5)

1st,time i forgot to add armv6 in architecture

2nd, time i have created to many provisioning files with same developer id that i should delete others key-chain according to use of bundle identifier ...and i mistakenly deleted valid and used other kechain

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top