Nota: estoy desarrollando con Xamarin. Pregunta similar publicada en el foro de Xamarin aquí
Estoy creando una aplicación llamada, digamos CompanyApp . Luego, creé una ID de aplicación para ella com.Company.CompanyApp , junto con el Perfil de aprovisionamiento de distribución que usa la ID de aplicación correspondiente. Subí el binario y funcionó perfectamente bien.
Luego creé una versión de demostración de la aplicación (básicamente la misma aplicación con una pequeña modificación, por lo que es la misma solución y proyecto, solo una configuración de firma de paquete diferente), CompanyAppDemo con un nuevo ID de aplicación com.Company.CompanyAppDemo , junto con un nuevo perfil de aprovisionamiento de distribución que utiliza el nuevo ID de aplicación. Actualicé las opciones de firma de paquetes de iOS para usar el nuevo perfil de aprovisionamiento y generé el IPA. Pero cuando cargué esto en Application Loader, recibí el siguiente error:
[2015-01-23 16:08:21 SGT] ERROR: ERROR ITMS-90164: "Derechos de firma de código no válidos. Los derechos en la firma de su paquete de aplicaciones no coinciden con los contenidos en el perfil de aprovisionamiento. Según el aprovisionamiento perfil, el paquete contiene un valor de clave que no está permitido: 'TEAMID.com.Company.CompanyApp' para la clave 'identificador de aplicación' en 'Payload / CompanyApp.app / CompanyApp' "
[2015-01-23 16:08:21 SGT] ERROR: ERROR ITMS-90046: "Derechos de firma de código no válidos. La firma de su paquete de aplicaciones contiene derechos de firma de código que no son compatibles con iOS. Específicamente, valor 'TEAMID.com.Company .CompanyApp 'para la clave' application-identifier 'en' Payload / CompanyApp.app / CompanyApp 'no es compatible. Este valor debe ser una cadena que comience con su TEAMID, seguida de un punto'. ', Seguido del identificador del paquete ".
He estado depurando durante días para descubrirlo en vano.
Me pregunto por qué cuando firmé con el nuevo perfil, el error que arrojó Application Loader se refiere a la ID del equipo original TEAMID.com.Company.CompanyApp en lugar de TEAMID.com.Company.CompanyAppDemo . ¿Es este un error en Xamarin que detecta un perfil de aprovisionamiento incorrecto o me falta algo? No necesita un certificado diferente para una aplicación diferente, ¿verdad?
Tenga en cuenta que siempre he actualizado la lista de perfiles de aprovisionamiento en XCode> Preferencia antes de cambiar la opción de firma de compilación de iOS en Xamarin.
fuente
Tuve el mismo problema y lo resolví con un simple Producto -> Limpiar .
fuente
Si alguien llega aquí buscando tanto el error ITMS-90164 como el error ITMS-90046 con las claves get-task-allow y asp-environment :
Como dijo David P, un Producto -> Limpiar antes de que un nuevo Archivo resolviera mi problema.
Solo quiero agregar que en mi caso observé que al xarchive defectuoso le faltaba el siguiente archivo:
Antes de enviar ese .xarchive a su cliente para la firma de producción, es posible que desee buscar el archivo archived-extended-rights.xcent y asegurarse de que esté allí.
fuente
Finalmente después de 2 semanas de arrancarse el cabello.
Por algunas razones, si no hay un 'identificador de aplicación' clave en Entitlements.plist que se establece en TEAMID.com.Company.CompanyAppDemo , Xamarin usará el identificador de aplicación original, es decir, TEAMID.com.Company.CompanyApp
Entonces, la solución fue agregar un identificador de aplicación que especifique el ID de paquete de aplicación correcto dentro de Entitlements.plist. Luego, incluya el plist en Opciones de compilación> Firma de paquetes de iOS.
fuente
Mismo problema y resuelto con un simple Producto -> Limpiar .
fuente
Cambie esto en Entitlements.plist:
<key>aps-environment</key> <string>development</string>
A esto:
<key>aps-environment</key> <string>production</string>
fuente
Esto también puede deberse a que tiene que aceptar un nuevo contrato en iTunes Connect. Inicie sesión en iTunes Connect y debería ver un banner en la parte superior que le solicita que acepte el último cambio de contrato.
fuente
Para mí, el problema era un Entitlements.plist que se agregó automáticamente y estaba vacío. Se eliminó del campo Derechos personalizados y se resolvió el problema.
fuente
Si no selecciona el certificado de liberación correspondiente antes de empacar, se informará el ERROR ITMS-90164
Configuración de compilación -> Identidad de firma de código -> Versión -> Cualquier SDK de IOS
fuente
Asegúrese de haber seleccionado el destino de la aplicación y no la aplicación WatchKit al archivar.
fuente
Ninguna de las otras respuestas resolvió este error para mí, pero esto lo hizo:
Cree una nueva aplicación XCode y examine su configuración de firma de código.
Intente que su aplicación se configure de manera similar a la configuración predeterminada de firma y aprovisionamiento de XCode 7 o Xcode 8, XCode 7 se muestra aquí, se ha cambiado nuevamente en XCode 8.
fuente
Intenté cargar una compilación desde una rama de git que no era la maestra. Para resolver el problema, fusioné la rama con el maestro y volví a construir. Luego pude cargar la compilación con éxito.
fuente
Un proyecto que incluya 2 objetivos (con 2 ID de desarrollador, 2 derechos) puede conducir a esto. (No me preguntes como ha pasado ...)
Al archivar, elimine temporalmente otro archivo de derechos.
fuente
Hacer un 'Salir' de Xcode adecuado y luego reiniciar fue la acción final que hizo que funcionara para mí.
Cambié el identificador del paquete (para una versión de demostración) y obtuve el mismo error (como se detalla en la pregunta) al verificar mi compilación archivada. Estoy usando Xcode. Cerrar Xcode y reabrir mi proyecto no fue suficiente, pero sí lo fue un 'Salir' completo. Probablemente algo se almacenó en caché en algún lugar, supongo.
fuente
Probé todo lo enumerado aquí, resultó que el problema era mi
.entitlement
archivo, que tenía líneas que nunca puse en primer lugar, simplemente se agregaron de alguna manera.Eliminó esas líneas y lo intentó de nuevo, funcionó.
fuente
Acabo de renombrar en los derechos.plist el valor de los dominios de acceso de applinks: htts: //domain.app.link a applinks: domain.app.link funciona como un encanto. ¡Salud!
fuente
Build Phase
en XcodeHurra, has terminado con eso. Problema resuelto
fuente
Para mí, pude resolverlo apagando / encendiendo nuevamente la función de firma automática de código:
fuente
Para mí, tenía el archivo incorrecto en mi configuración de Derechos personalizados en Firma de paquetes de iOS. ¡Lo eliminó y funcionó!
fuente
Después de muchas horas de investigación, encontré una solución fácil.
En lugar de usar el cargador de aplicaciones para cargar la aplicación, usé el Organizador de XCode y funcionó sin advertencias al realizar la carga.
fuente
Mi problema es que estaba usando un paquete incorrecto para crear un archivo IPA
fuente
Tuve exactamente el mismo problema y fue un error bastante estúpido. No quiero que nadie dedique tiempo a esto, así que para este:
Entonces, lo que sucedió aquí fue que ingresé '10' en el objetivo de implementación. Eso debería haber sido 10.0 en su lugar. Eso es lo que produjo el infame ERROR ITMS-90164/90046: ¡Derechos de firma de código no válidos para mí!
fuente
Debe verificar sus derechos. Es como un archivo plist. Edítelo para desarrollo y elimine los campos adicionales.
ingrese la descripción de la imagen aquí
fuente
Mis dos centavos aquí.
Justo ahora me he quedado atascado en este problema porque cuando copio mi ID de equipo / ID de aplicación del portal de desarrolladores de Apple, lo que aporta una gran cantidad de valor no relacionado a la lista de derechos. No me di cuenta de esto porque estaba usando Xcode para editar el atributo.plist y el cuadro de entrada no mostrará todo después del primer carácter de nueva línea.
Sugiero usar el editor de texto sin formato para titular.plist para este caso.
Gracias, Samuel
fuente
Después de probar todos los trucos leen últimos días en Stackoverflow i "xxxxxx.entitlements" borrado de archivos y regenerar de nuevo. Hago clic en Capacidades , selecciono ON en Dominios asociados y agrego "Dominios". Luego, en Capacidades> Notificaciones automáticas, haga clic en Reparar "Agregar el derecho de notificaciones automáticas a su archivo de derechos".
Hacer que eso me permita hacer ARCHIVO exitoso
fuente
Tenía un enlace como este
webcredentials:https://************.link
, que estaba causando que fallara mi carga. Lo quité y se solucionó el problema.fuente