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.