xcode - developer - testflight tutorial
Advertencia de carga de Apple TestFlight ITMS-90191: falta el derecho `beta-reports-active` (7)
Cuando subo una compilación al nuevo TestFlight integrado de Apple e iTunes Connect, veo el siguiente registro:
ADVERTENCIA ITMS-90191: "Falta el derecho beta. Su aplicación no incluye el derecho beta-informes-activo. Si tiene intención de distribuir esta compilación a través de TestFlight para las pruebas beta, vuelva a compilar esta aplicación con un perfil de aprovisionamiento recién generado".
Cuando veo la compilación en iTunes Connect, también veo la siguiente advertencia:
Para usar TestFlight Beta Testing, la versión XYZ debe contener el derecho beta correcto. Para obtener más información, consulte las preguntas frecuentes.
Las preguntas frecuentes vinculadas indican:
¿Qué debo hacer si mi versión preliminar no contiene el derecho beta correcto?
Para utilizar la aplicación TestFlight para probar su versión preliminar, debe estar firmada con un perfil de Aprovisionamiento de Distribución de la App Store que incluya el derecho de beta. Los nuevos perfiles de aprovisionamiento de distribución generados en el Centro de desarrolladores de iOS contendrán automáticamente el derecho beta.
Si tiene un Perfil de aprovisionamiento de distribución existente que se generó antes del lanzamiento de TestFlight Beta Testing, debe volver a generar el perfil.
El problema es que estoy usando un perfil de aprovisionamiento de distribución de App Store recién creado. Lo creé así:
Cuando inspecciono la fuente del perfil de aprovisionamiento descargado, veo:
<key>Entitlements</key>
<dict>
// ...
<key>aps-environment</key>
<string>production</string>
<key>beta-reports-active</key>
<true/>
// ...
Por lo tanto, el Perfil de aprovisionamiento se establece para la production
y contiene el derecho beta-reports-active
.
Sin embargo, iTunes Connect continúa quejándose cuando esta compilación se carga en TestFlight.
¿Alguna idea sobre cómo solucionar este problema? ¿Es este un error de Apple?
rdar: // 20128048
Edité mis entitlements.plist
con el siguiente comando: /usr/libexec/PlistBuddy -c "Add :beta-reports-active bool true" entitlements.plist
La edición manual del archivo plist no lo hizo por mí.
La edición de un perfil existente y la generación del archivo tampoco funcionaron esta vez.
Pero, al igual que para Joe, la creación de un nuevo perfil de provisión realmente lo resolvió para mí. Entonces, cree un nuevo Perfil de Provisión y volverá a estar en el negocio. Esto parece una falla en TestFlight.
Primero, asegúrese de que está utilizando un perfil de aprovisionamiento de distribución de App Store . Es probable que este sea un perfil de aprovisionamiento diferente del Perfil de aprovisionamiento de distribución Ad Hoc que estaba usando para firmar las compilaciones de TestFlight anteriores a Apple.
Continué presionando Error ITMS-90191 después de cambiar a un Perfil de Aprovisionamiento de Distribución de App Store. Solucioné el problema agregando además la clave beta-reports-active
a mi archivo Entitlements.plist
de Target en el proyecto Xcode.
La clave beta-reports-active
debe incluirse en el Perfil de aprovisionamiento Y los derechos del Destino.
TargetName.entitlements
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
// ...
<key>beta-reports-active</key>
<true/>
// ...
</dict>
</plist>
Después de agregar el derecho a mi destino, puedo cargar correctamente la compilación a iTunes Connect TestFlight sin la advertencia ITMS-90191
:
Pude arreglar esto agregando esto a mi script xcodebuild.
xcodebuild ... PROVISIONING_PROFILE=<Provisioning Profile Id>
Parece que la configuración manual de Identidades de Signos de Códigos en la Configuración de Compilación también podría solucionar este problema.
Si está utilizando Fastlane, asegúrese de establecer ad-hoc en falso para el paso de sigh
, de lo contrario, generará un perfil ad-hoc que no es adecuado para la distribución de TestFlight. es decir:
sigh(
adhoc: false,
team_id: "XXXXXXXXX"
)
Una solución simple: elimine su perfil de aprovisionamiento anterior y cree uno nuevo. resuelve mi problema :)
Usar un perfil de aprovisionamiento de AppStore solucionó esto por mí. Logré distribuir e instalar exitosamente en dispositivos. Estaba usando un perfil de aprovisionamiento AdHoc como de costumbre y, de repente, comencé a recibir este error. Cosas frustrantes por cierto.