Los derechos especificados ... perfil. (0xE8008016). Error iOS 4.2

142

Recibo el error 'temido' The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).cuando intento implementar mi primera aplicación en un dispositivo sin jailbreak en iOS 4.2.6 (Verizon). La cuestión es que no tengo un Entitlements fileen mi proyecto, ya que no lo estoy distribuyendo en absoluto, solo lo pongo en un dispositivo. He pasado por todos los aros y bucles que Apple te pone al día (certificado, dispositivo, aprovisionamiento) hasta la letra, y no puedo entender qué está yendo mal.

¿Alguien puede ayudarme con este problema?

Richard J. Ross III
fuente
te sugiero que pases por la siguiente publicación. stackoverflow.com/questions/1410080/… discusiones.apple.com/thread.jspa?threadID=2162558
Jhaliya
15
Eso es extraño, tengo un voto negativo. ¿La persona que hizo esto, por favor explique?
Richard J. Ross III
Esta pregunta realmente me ayudó porque resultó que me hizo tener un archivo de derechos (y que mencionar que me hizo consciente de esto). Eliminar la referencia en Build Settings > Code Signing > Code Signing Entitlementsme permitió construir este proyecto.
Geoff

Respuestas:

64

Acabo de encontrarme con este problema, el problema era que tenía un archivo Entitlements.plist en el proyecto como parte de una distribución ad hoc, y su propiedad get-task-allow (es decir, 'se puede depurar') estaba establecida en NO - establecer esto en SÍ solucionó el problema y permitió que la aplicación se ejecute desde Xcode4 en el dispositivo en desarrollo.

Naturalmente, es necesario volver a establecerlo en NO para distribuciones ad hoc, pero solo pensé en mencionarlo en caso de que alguien más se encuentre con el mismo problema.

crafterm
fuente
Gracias, esto finalmente solucionó mi problema.
EasyCoder
¡Gracias! Eso me estaba matando.
alan
"get-task-allow = NO" hizo que mi aplicación vea iCloud, cuando se distribuyó como AdHoc ipa.
Tertium
77
Por cierto, verifique que especifique la identidad de signo correcta exactamente en Destino -> Configuración de compilación , no en Proyecto . Target anula el proyecto . Me olvidé de esto y recibí el mensaje de error 0xE8008016.
Tertium
Una cosa más, si su aplicación usa 'iCloud Key-Value Store' en los derechos, debe eliminar esta clave para la versión de depuración. De lo contrario, la aplicación no se ejecutará en su dispositivo y continuará dando este error incluso si tiene 'get-task-allow' establecido en YES.
extraño veces
50

Tuve este problema con Xcode 4.2.1.

Para mí no tenía nada que ver con el archivo de Derechos, o Ad-hoc ...

Estaba volviendo a un proyecto anterior, y me había olvidado de agregar mi nuevo iPhone a la provisión.

Error tonto, pero también un mensaje de error correspondiente tonto ...: - /

Recortes
fuente
77
Error tonto que aparentemente ambos hicimos.
Patrick Bassut el
55
Desearía poder +2, qué mensaje de error ridículo para este problema. Hubiera buscado durante horas si no fuera por tu publicación.
Wesley Smith
Gracias por señalarlo, yo también cometí este error tonto. Finalmente resuelto.
Gaurav
44

Si está utilizando react-native, asegúrese de que el objetivo de prueba tenga el mismo perfil de aprovisionamiento que el principal.

Mohebifar
fuente
3
Muchas gracias, me salvaste el día
Julien Athomas
Me salvaste el tocino
Theo Bendixson
Muchas gracias. Salvaste mi día. :)
pratik
Llevo como una hora luchando contra esto hasta que vi tu comentario, ¡gracias!
ivmos
Estaba muerto por dentro hasta que me encontré con este comentario.
Perro
29

He tenido este problema con los derechos de iCloud. Mi problema fue que olvidé habilitar iCloud para mi ID de aplicación en el Portal de aprovisionamiento.

Después de habilitar iCloud para su ID de aplicación, deberá volver a crear los perfiles de aprovisionamiento.

adjwilli
fuente
1
Este error me volvió a ocurrir. Necesitaba agregar mi nuevo dispositivo al perfil de aprovisionamiento de desarrollo, luego actualizar la lista en Xcode.
adjwilli
Tuve el mismo problema. Lo cual es extraño, porque esta aplicación estaba habilitada y funcionaba antes para una implementación ad-hoc.
raeldor
Tuve un problema de derechos relacionado con iCloud, ya que mi aplicación estaba accediendo a documentos de iCloud. Tuve que actualizar los derechos de iCloud en la sección Capacidades.
user3300864
20

Mantenga su archivo de derechos en Target> Configuración de compilación> Firma de código> Derechos de firma de código.

Vaya a Objetivo> Capacidades. Activar / Desactivar o Desactivar / Activar una de las capacidades.

Correr.

ZpaceZombor
fuente
Esto funcionó para mí. pero nuevamente tengo que seleccionar el perfil de aprovisionamiento en la página de configuración de compilación.
Rinku
1
Esto funcionó para mí. Los dominios asociados se activaron para mí. Lo apagué y el problema se resolvió.
BigRon
19

Lo que funcionó para mí fue eliminar completamente el archivo de derechos, de la lista de grupos y de la Configuración de compilación en Project y Target. Luego recreé los derechos de la pestaña Resumen en el destino, y se cargó bien sin ningún mensaje de error.

Mark Knopper
fuente
Como se indicó anteriormente, el valor del derecho debe eliminarse manualmente en la configuración de compilación también
petershine
1
eliminar el archivo de derechos y agregarlo nuevamente funcionó para mí, también hice una limpieza
Jasper el
Esta fue mi llave aquí! Verifiqué las configuraciones de proyecto y de compilación de destino. En la sección Firma de código hay una configuración "Derechos de firma de código": expandí, destaqué las líneas de depuración y liberación, y presioné la tecla Suprimir. Esto permitió que mi aplicación se compilara sin ningún error. Sin embargo, todavía no se depurará: sale inmediatamente con un mensaje en la consola, tendré que buscarlo.
Jay Imerman
1
Esto funcionó también al intentar ejecutar la aplicación HealthKit "fit" para iOS8: había una cadena de identificación adicional en el archivo de derechos. Eliminarlo permitió que el proyecto se ejecutara después de seguir otros pasos mencionados en este hilo
Alex Stone
Esto solucionó mi problema con iCloud. Parece que había un par de configuraciones adicionales en el archivo de Derechos que no necesitaban estar allí. Eliminarlos y todo y hacer que la pestaña General reconstruya funcionó.
AndyDunn
15

Solo pongo mis 5 centavos aquí. Para mí, ninguno de los anteriores funcionó, así que me vi obligado a estresarme y mirar cada parte del proceso con ojos nuevos.

Al apresurarme, olvidé que estaba tratando de instalar mi aplicación en un dispositivo totalmente nuevo.

Entonces, mi error fue que no había actualizado mi perfil de aprovisionamiento marcando mi nuevo dispositivo en la sección "Dispositivos" de la configuración del perfil de aprovisionamiento en el Portal de aprovisionamiento.

Aparentemente, no incluir su dispositivo en el perfil de aprovisionamiento también genera este mensaje de error.

PinkFloydRocks
fuente
De acuerdo: si no tiene su perfil de aprovisionamiento correcto, puede obtener este error.
Matt
12

Ninguna de las muchas respuestas solucionó el error 0xE8008016 para mí.

Pero cuando elegí "Aprovisionamiento automático de dispositivos" en Xcode 4> Organizador> Dispositivos> Perfiles de aprovisionamiento, finalmente funcionó.

auco
fuente
1
Que rocas! A mí también me funcionó. Creo que fue una combinación de todo lo anterior, ya que la aplicación se desarrolló originalmente con XCode 3, luego llegó a 4.2, eliminé el archivo Entitlements.plist del proyecto, eliminé la entrada de derechos de firma de código en la Configuración / Código de compilación Sección de firma, luego configure el perfil de aprovisionamiento en automático. Ese último lo hizo.
Jay Imerman
Este también fue mi problema, excepto que estaba seleccionando automáticamente el perfil de aprovisionamiento incorrecto, y al seleccionar manualmente el correcto, se solucionó el problema.
Abhi Beckert
1
Eso lo hizo por mí. No estoy seguro de cómo se eliminaron algunos perfiles de aprovisionamiento del Equipo de desarrolladores de iOS, pero al hacer clic en actualizar en la página Perfiles de aprovisionamiento a la que hace referencia, resolví este error.
sean808080
11

En mi caso fue un estúpido error. Establecí incorrectamente el esquema "Ejecutar" para usar la configuración de compilación "Distribución" en lugar de la "Debug" o "Release". Estúpido error, pero me llevó un tiempo depurarlo, ¡así que voy a agregar mi respuesta para mejorar la base de conocimiento dentro del desbordamiento de la pila!

viggio24
fuente
10

Elimine sus perfiles de aprovisionamiento, haga un 'Limpiar todo', asegúrese de que su configuración de aprovisionamiento sea correcta, vuelva a descargar e intente ejecutar nuevamente.

W Dyson
fuente
¿Qué versión de Xcode estás usando? Si es 4.0, ha habido problemas con esto. Puede que tenga que reiniciar Xcode o incluso reiniciar su Mac. Asegúrese de que la configuración de aprovisionamiento sea correcta tanto en el proyecto como en el destino. Sin embargo, la configuración del objetivo tiene prioridad sobre el Proyecto.
W Dyson
Creo que es un problema con el dispositivo, es un iPhone 4 de Verizon, y con el mismo perfil de aprovisionamiento, puedo implementar una aplicación en mi iPad ... ¿Alguien más ha tenido este problema con un iPhone 4 de Verizon?
Richard J. Ross III
¿Está utilizando un antiguo perfil de aprovisionamiento? Debe agregar el iPhone de Verizon como dispositivo en el Portal de aprovisionamiento y luego actualizar el perfil de desarrollo, volver a descargar y reinstalar el nuevo perfil. Si esto no funciona, tendrá que proporcionar más información.
W Dyson
Acabo de configurar el perfil de aprovisionamiento ayer, ¿cómo podría ser viejo? Apple acaba de ratificar mi solicitud de desarrollador, por lo que era completamente nueva. De todos modos, veré cómo funciona cuando actualicemos a iOS 4.3.
Richard J. Ross III
Un 'limpio' lo hizo por mí. -_-
Cœur
5
  1. Abra el 'Portal de aprovisionamiento de iOS' en Safari.
  2. Toque 'Dispositivos' en la barra lateral.
  3. Registre el UDID de su dispositivo
  4. Toca 'Perfiles de aprovisionamiento'
  5. Edite su perfil de aplicaciones.
  6. Seleccione el dispositivo que acaba de agregar.
  7. Descargue el archivo .mobileprovision.
  8. Instalarlo.
  9. Construir de nuevo.
neoneye
fuente
4

Tuve el mismo problema en mi aplicación, después de unos meses esta aplicación específica funcionó bien.

El problema era que las capacidades configuradas en mi proyecto Xcode (en Objetivos -> {ProjectName} -> Capacidades) no eran las mismas que las Capacidades configuradas en el perfil de aprovisionamiento (puede verificar eso en el centro de miembros de Apple en Identificador -> Aplicación Ids -> {su ID de aplicación}. En el centro de miembros vi que Game Center está habilitado y, en mi proyecto, también habilité Game Center. Luego, la aplicación se pudo iniciar.

No sé cómo funcionó hasta ahora. Eso sigue siendo un misterio :)

bobsacameno
fuente
Ahora me di cuenta de que las notificaciones push ya no funcionan. Eliminé las capacidades de Game Center en Xcode. La aplicación ahora se ejecuta, pero las notificaciones push ya no llegan. Alguien sabe por qué?
bobsacameno
4

Para mí, marque la opción "Gestionar automáticamente la firma" en Target para resolver el problema.

Carlos Jim
fuente
3

Si no cambió nada relacionado con los certificados (no los reemplazó ni los actualizó) simplemente haga lo siguiente Product -> Clean. Me ayudó varias veces. (Xcode 6.2)

Stefan
fuente
2

La actualización a XCode 4 solucionó el problema.

Richard J. Ross III
fuente
1
No parece ser un problema específico de la versión XCode, ya que obtuve el error en XCode 7.3.1. Tuve que eliminar el perfil de aprovisionamiento y volver a descargar el mismo desde las preferencias de XCode para resolver el problema.
Ian Pinto
@IanPinto Estoy de acuerdo. La razón principal por la que esta es la respuesta aceptada es porque esto es lo que funcionó para . En realidad, ya no es información súper útil, y he votado a favor la mayoría de las otras respuestas en esta publicación, ya que todas contienen información súper valiosa para las personas que lo vean en el futuro. Lo bueno de las respuestas automáticas en SO es que no se empujan automáticamente a la parte superior de la pila, por lo que no mucha gente verá esta respuesta, de todos modos :)
Richard J. Ross III
2

Me encontré con este problema hoy y me estaba arrancando el pelo tratando de resolverlo. Como muchas personas aquí, funcionaría si eliminara las opciones de iCloud en mi archivo de derechos. Cuando iba a depurar la aplicación con las opciones de iCloud habilitadas, obtenía el error 0xe8008016. Esto fue justo después de revocar y regenerar nuevos certificados.

Entonces, lo que me resolvió fue activar el soporte de iCloud para el perfil del equipo Xcode generado automáticamente. Inicie sesión en la herramienta de aprovisionamiento en línea, vaya a App IDs, haga clic en Xcode iOS Wildcard App ID, haga clic en edit, habilite iCloud marcando la casilla de verificación y finalmente haciendo clicDone . Actualice sus perfiles en Xcode y luego comenzará a funcionar.

Esto tiene algo de sentido: cuando está depurando, el perfil del equipo está predeterminado y el perfil del equipo debe tener activado iCloud.

kurtzmarc
fuente
1
¡SI! Ese fue mi problema y habilitar iCloud en la ID de todas las aplicaciones funcionó. Muchas gracias
Guy Moreillon
2

Me sucedió cuando estaba tratando de usar un perfil de aprovisionamiento de distribución de la tienda de aplicaciones para pruebas locales por error. Cuando utilicé el perfil de desarrollo adecuado, funcionó bien. Quizás esto ayude a alguien también.

Thomas Mondel
fuente
¿Qué puedo hacer si quiero probar el perfil de la aplicación que se cargó en la App Store? ¿Hay una manera de hacerlo?
bobsacameno
2

Esto funcionó para mí ...

  1. Eliminé el Entitlementsarchivo de la target.
  2. Eliminé la aplicación de todos mis dispositivos
  3. Cleaned la compilación en Xcode
  4. * opcional eliminar el perfil de aprovisionamiento y volver a agregarlo

Espero que funcione para ustedes también :)

Joe Barbour
fuente
eliminé el archivo de Derechos del objetivo, funciona para mí. Pero no, si esta es la mejor manera de hacerlo.
YuAn Shaolin Maculelê Lai
2

Esto es lo que resolvió mi problema: eliminar la ruta en la sección Derechos de firma de código de la configuración de compilación de objetivos.

Jeremy Kelleher
fuente
¿Una explicación de cómo hacerlo, por favor?
Agente Zebra
@AgentZebra Haga clic en el archivo principal del Proyecto> elija su aplicación de "Objetivos"> Configuración de compilación> Firma> Derechos de firma de código, elimine el valor que se muestra allí.
weienw
2

Mi perfil de aprovisionamiento del desarrollador de Apple coincidía con mis capacidades de Xcode, pero todavía no se construiría en mi dispositivo hasta que hiciera lo siguiente:

  1. Elimine / elimine el archivo de derechos de su proyecto Xcode.

  2. Regrese a la pestaña de capacidades de Xcode

  3. Presione el botón "Solucionar problema" para que Xcode vuelva a agregar el archivo de derechos.

Trabajó para mí, espero que ayude a alguien.

Henry Heleine
fuente
2

Me sucedió en Xcode 8, fue parcialmente causado por la nueva Provisioning Profileconfiguración de compilación, ya que en esta versión de Xcode hay dos entradas para el perfil de aprovisionamiento:

  • Perfil de aprovisionamiento
  • Perfil de aprovisionamiento (en desuso)

Mi culpa fue que actualicé solo la primera, y la entrada en desuso todavía apuntaba a un perfil de aprovisionamiento no válido. Cambiar ambos al mismo valor solucionó el problema (borrar la entrada en desuso también debería tener el mismo efecto).

Cristik
fuente
1

En mi caso, parece que Xcode (en secreto) restableció el esquema. Descubrí que la configuración de compilación para Archive estaba establecida en Release en lugar de distribución uno, y después de cambiarla por la correcta, funcionó.

Creo que es mejor verificar los esquemas y la configuración de compilación.

YoonHo
fuente
1

Tenía un proyecto antiguo y el mismo problema y lo resolví.

1. Ir al resumen
2.Summary tenga grupos de llaveros y elimine el objeto de grupos de keychanin.

Espero que funcione para ti. Saludos.

Erhan Demirci
fuente
1

Estoy usando xcode 6 y encuentro este problema para un iPhone 4 en particular

finalmente, voy al dispositivo => perfil de provisión =>

y luego agrega el perfil manualmente y se soluciona el problema.

chings228
fuente
1

Para mí, en Xcode 5.1 estaba obteniendo The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.cuando intentaba probar la aplicación en mi dispositivo. El Certificado de desarrollo del dispositivo tiene que vencer en febrero de 2015.

Problema resuelto:

Seleccionado Target->Capabilities, en GameCenter, aquí recibí un error en el derecho a GameCenter, ya que no se agregó al proyecto, aunque la primera versión de la aplicación se lanzó a través del mismo XCode 5.1, pero no hubo errores como este antes.

A continuación, se le dio un botón con el título Fix Issue. Al hacer clic, agregó el derecho a GameCenter y se resolvió el problema.

Después de las salas, la pantalla se ve así:

ingrese la descripción de la imagen aquí

Para mí, no había nada que ver con el certificado. La aplicación ahora se ejecuta correctamente en el dispositivo.

MTahir
fuente
1

Otro problema potencial que generará este mensaje de error: si está utilizando un perfil de aprovisionamiento perfectamente válido para su aplicación principal, pero tiene un perfil de aprovisionamiento caducado o no válido para su extensión de widget Today. Me imagino que sería lo mismo para una extensión de reloj de Apple también.

¡Mira todos los perfiles!

orden de busca y captura
fuente
1

¡Verifique el acceso a KeyChain!

En mi caso, estaba usando el certificado de distribución incorrecto asociado con el perfil de aprovisionamiento.

Daisy R.
fuente
1

El código en el que estaba trabajando tenía un paquete diferente en Info-plist que en el Product Bundle Identifier configuración de compilación.

Encontré esto porque noté este mensaje en la consola del dispositivo en la vista de dispositivos:

MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'

FeoAzulGato
fuente
0

Si está intentando activar la sincronización de iCloud, deberá habilitar iCloud para el AppID que se usa para crear el perfil de aprovisionamiento de desarrollo (que Xcode hace automáticamente). También deberá habilitar esto para los perfiles de distribución.

La parte difícil es que cuando actualiza los perfiles en Xcode, esto no desencadena una renovación de los perfiles; simplemente se vuelven a descargar. Por lo tanto, en su Portal de aprovisionamiento de iOS en Aprovisionamiento / Desarrollo, deberá verificar el perfil que está etiquetado (Administrado por Xcode) y eliminarlo (Eliminar botón Seleccionado). Haga esto para TODOS los perfiles, desarrollo y distribución que necesita para regenerar.

Ahora, en Xcode en el Organizador, elimine los perfiles de aprovisionamiento que está a punto de reemplazar.

Ahora para conseguir nuevos. Si se desarrolla para más de un equipo y solo desea actualizar uno en particular, seleccione el Equipo apropiado en el panel izquierdo debajo de EQUIPOS, de lo contrario seleccione Perfiles de aprovisionamiento en BIBLIOTECA, luego seleccione Actualizar.

Finalmente, elimine los perfiles de aprovisionamiento antiguos en su dispositivo que puedan entrar en conflicto con los nuevos, ya que los perfiles nunca se eliminan automáticamente; los perfiles más nuevos simplemente se agregan a la lista.

Ryan H.
fuente