2009-12-07 9 views
15

He creado una versió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 de la tienda de aplicaciones. El certificado es válido en llavero. Seleccioné el perfil ad hoc en Xcode para esta compilación, que está vinculada al certificado de distribución.Signer no valid error

Envío al usuario el archivo de aprovisionamiento y el archivo .app. Dejan caer tanto en iTunes y sincronizar a continuación, obtener este error en los dos dispositivos:

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

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

Respuesta

16

¿Agregó 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 apuesta es seguir la documentación de Apple exactamente, obtener los valores de creación de exactamente partido de Apple.

+3

No estableciéndolo en el objetivo era el problema. ¿Cuál es la diferencia con esa configuración y la configuración del proyecto para ad hoc? – 4thSpace

+0

Además, ¿por qué nunca vi el comportamiento del usuario cuando sincronicé el ad hoc? – 4thSpace

+1

¿Dónde está la documentación de Apple para esto? Es muy difícil encontrar el lugar correcto que explica todo el proceso de principio a fin (no está en el portal de aprovisionamiento) – Jonny

3

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

Sólo algo a considerar.

2

Recibí 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.

4

A partir de los documentos:

La construcción de una aplicación para Ad Hoc distribución es similar a la construcción de una aplicación para la distribución App Store, con una excepción de dos pasos adicionales. En primer lugar, es necesario crear un Grupo de Acción distribución de perfiles de aprovisionamiento y añadir los UDID de los dispositivos IOS que quiere distribuir a utilizar el Programa iPhone desarrollador de aprovisionamiento Portal. En segundo lugar, debe crear un archivo de derechos de firma de código . Para información sobre cómo crear un archivo de derechos , lea la sección Administrar Derechos de la aplicación de la Guía de desarrollo de iOS.


Gestión de Derechos de aplicación

IOS proporciona acceso a especiales recursos y capacidades, tales como si su aplicación puede ser depurado a través de propiedades llamado derechos.Para especificar la información del derecho en su aplicación, agregue un archivo de lista de propiedades de titularidad que contenga las definiciones de titularidad (pares de clave/valor) para su proyecto. Al generar la aplicación, Xcode copia el archivo en el paquete generado aplicación.

Para añadir un archivo de derechos de propiedad lista a su proyecto:

En la lista Archivos Grupos &, seleccione el grupo Recursos. Elija Archivo> Nuevo archivo . Elija la firma iOS> Código> Derechos plantilla. Denomine el archivo Entitlements.plist. (Se puede utilizar cualquier nombre ; simplemente asegurarse de que coincide con el valor del Código de Derechos de firma construyen ajuste, como se explica más adelante en esta sección .) Ajuste el tipo del archivo propiedad lista para iPhone derechos. Con el archivo seleccionado en el editor de texto, elija Ver> Tipo de lista de propiedades> iPhone Derechos anexos.

Agregue las entradas de su derecho al archivo . Para cada propiedad derecho es necesario definir:

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

introduzca el valor de la propiedad. Establezca los Derechos de firma de código compilación estableciendo para el destino el nombre de los derechos recién agregados archivo de lista de propiedades.


Una vez que haya creado su archivo de Derechos y ha añadido a su firma de código Derechos construir ajuste, abra el archivo Derechos y agregar o editar la CLAVES-tarea-Permitir y configurarlo en falso.

Además de comprimir su .app paquete para distribuir su Ad Hoc construir a los probadores, etc., se recomienda que también comprimir el archivo de suministro antes de distribución de correo electrónico debido a que ciertos clientes y servidores puede dañar la perfil de aprovisionamiento.

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

+0

Esta es una gran respuesta, la clave get-task-allow es el obstáculo principal para la mayoría de las personas. –

6

Es una buena idea para comprobar el archivo imbedded.mobileprovision que viene incluido en el archivo .app para asegurarse de que el UID está ahí. Sólo hacer lo siguiente:

  1. descomprimir ProblemApp.ipa
  2. cd Carga/ProblemApp.app
  3. pico imbedded.mobileprovision

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

1

Aquí hay otro divertido .... si tiene archivos de ayuda social separados para iPhone y iPad, asegúrese de configurar el destino del archivo para cada construcción específica ... de lo contrario, no se mostrará en la construcción y obtendrá este error

0

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 instalado la utilidad de configuración de iPhone:

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

continuación:

  1. plazo iPhone config
  2. arrastrar y soltar archivos de aplicación para dispositivo embedded.mobileprovision
  3. clic en lado izquierdo
  4. clic "pr aprovisionamiento ofiles" ficha
  5. clic en el perfil y haga clic en el botón 'instalar'

A continuación, la aplicación instalada muy bien.

1

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 hice una actualización. Las cosas ahora funcionan.

tengo ni idea de si se trata de un fallo 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.

0

que tenían el mismo problema que el PO 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.

0

Tengo mismo problema dos veces (xcode 4.2 ios 5)

primero, el tiempo se me olvidó añadir ARMv6 en la arquitectura

segundo, el tiempo he creado a muchos archivos de aprovisionamiento con el mismo id desarrollador que yo debería eliminar los demás llavero según el uso del identificador de paquete ...y borré por error valido y usé otro kechain

Cuestiones relacionadas