web-dev-qa-db-fra.com

Avertissement de téléchargement Apple TestFlight ITMS-90191: autorisation manquante `beta-reports-active`

Lorsque je télécharge une version sur TestFlight, le nouvel appareil appartenant à Apple et intégré à iTunes Connect, le journal suivant s'affiche:

AVERTISSEMENT ITMS-90191: "Le droit d'accès à la bêta est manquant. Votre application n'inclut pas le droit aux rapports bêta-actifs-actifs. Si vous avez l'intention de distribuer cette version via TestFlight pour les tests bêta, veuillez recréer cette application avec un profil de provisionnement nouvellement généré."

Lorsque je regarde la construction sur iTunes Connect, je vois également l'avertissement suivant:

To use TestFlight Beta Testing, build X.Y.Z must contain the correct beta entitlement. For more information, see the FAQ.

Pour utiliser les tests bêta de TestFlight, la construction X.Y.Z doit contenir le droit d'accès bêta correct. Pour plus d'informations, consultez la FAQ.

Le lien FAQ indique:

Que dois-je faire si ma version de pré-version ne contient pas le droit bêta correct?

Pour utiliser l'application TestFlight afin de tester votre version préliminaire, celle-ci doit être signée avec un profil d'approvisionnement de la distribution App Store incluant le droit à la bêta. Les nouveaux profils de provisioning de distribution générés dans le centre de développement iOS contiennent automatiquement le droit bêta.

Si un profil d'approvisionnement de distribution existant a été généré avant le lancement de TestFlight Beta Testing, vous devez régénérer le profil. 

Le problème est que je suis en utilisant un nouveau profil de provisioning de distribution App Store. Je l'ai créé comme ça:

App Store Distribution Provisioning Profile

Lorsque j'inspecte la source du profil d'approvisionnement téléchargé, je vois:

<key>Entitlements</key>
<dict>
    // ...
    <key>aps-environment</key>
    <string>production</string>
    <key>beta-reports-active</key>
    <true/>
    // ...

Le profil d'approvisionnement est donc défini sur production et ne} _ contient le droit beta-reports-active.

Cependant, iTunes Connect continue de se plaindre lorsque cette version est téléchargée sur TestFlight.

Des idées sur la façon de résoudre ce problème? Est-ce un bug d'Apple?

rdar: // 20128048

18
pkamb

Commencez par vous assurer que vous utilisez un profil d'approvisionnement de la distribution App Store. Il s'agit probablement d'un profil d'approvisionnement {différent) du profil d'approvisionnement de distribution ad hoc que vous utilisiez pour signer les versions antérieures à Apple TestFlight.

J'ai continué à frapper l'erreur ITMS-90191 après que je suis passé à un profil d'approvisionnement de la distribution App Store. J'ai résolu le problème en ajoutant en plus la clé beta-reports-active au fichier Entitlements.plist de ma cible dans le projet Xcode.

La clé beta-reports-active doit être incluse dans le profil de provisionnement ET les droits de la cible.

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>

Après avoir ajouté le droit à ma cible, je peux télécharger avec succès la version sur iTunes Connect TestFlight sans l'avertissement ITMS-90191:

enter image description here

21
pkamb

L'utilisation d'un profil d'approvisionnement AppStore a résolu ce problème pour moi. J'ai réussi à distribuer et installer avec succès sur les appareils. J'utilisais un profil d'approvisionnement AdHoc comme d'habitude et soudainement j'ai commencé à avoir cette erreur. Des choses frustrantes en effet.

2
xissburg

Editer manuellement le fichier plist ne me l’a pas fait.
La modification d’un profil existant et la génération du fichier ne fonctionnaient PAS non plus cette fois-ci.
Mais, comme pour joehl, créer un tout nouveau profil de provision le corrigea pour moi. Créez donc un nouveau profil de provision et vous serez de retour dans les affaires. Cela ressemble à un problème dans TestFlight.

2
John Minne

J'ai pu résoudre ce problème en l'ajoutant à mon script xcodebuild.

xcodebuild ... PROVISIONING_PROFILE=<Provisioning Profile Id>

Il semblerait que définir Identités de signe de code dans Configurer les paramètres manuellement puisse résoudre ce problème également.

2
dlobanov

Une solution simple: supprimez votre profil de provisioning précédent et créez-en un nouveau. résout mon problème. :)

1
Usman Nisar

J'ai édité mon entitlements.plist avec la commande suivante: /usr/libexec/PlistBuddy -c "Add :beta-reports-active bool true" entitlements.plist

1
Heath Borders

Si vous utilisez Fastlane, assurez-vous de définir ad-hoc sur false pour l'étape sigh. Sinon, un profil ad-hoc ne conviendra pas pour la distribution TestFlight. c'est à dire.:

sigh(
  adhoc: false,
  team_id: "XXXXXXXXX"
)
1
Ben Thomas