web-dev-qa-db-fra.com

Les droits spécifiés ... profil. (0xE8008016). Erreur iOS 4.2

Je reçois l'erreur 'redoutée' The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.(0xE8008016). lorsque j'essaie de déployer ma première application sur un périphérique non jailbreaké sur iOS 4.2.6 (Verizon). Le fait est que je n’ai pas de Entitlements file dans mon projet, car je ne le distribue pas du tout, je ne le mets que sur un seul appareil. J'ai parcouru tous les obstacles et toutes les boucles qu'Apple vous soumet (certificat, périphérique, approvisionnement) à la lettre, et je ne peux pas comprendre ce qui ne va pas.

Quelqu'un peut-il m'aider s'il vous plaît avec ce problème?

137

La mise à niveau vers XCode 4 a résolu le problème. 

2

Je viens de rencontrer ce problème moi-même. Le problème était que j'avais un fichier Entitlements.plist dans le projet faisant partie d'une distribution ad hoc et que sa propriété get-task-allow (c'est-à-dire 'peut être débogué') était définie sur NO - régler ce paramètre sur OUI corrigeait le problème et permettait à l'application de fonctionner à partir de Xcode4 sur le périphérique en développement.

Naturellement, il faut redéfinir ce paramètre sur NO pour les distributions ad hoc, mais je pensais que je le mentionnerais au cas où quelqu'un d'autre rencontrerait le même problème.

64
crafterm

J'ai eu ce problème avec Xcode 4.2.1.

Pour moi, cela n'avait rien à voir avec le fichier de droits, ou ad-hoc ...

Je revenais à un vieux projet et j'avais oublié d'ajouter mon nouvel iPhone à la provision.

Erreur stupide, mais aussi un message d'erreur correspondant stupide ...: - /

50
Snips

Si vous utilisez react-native, assurez-vous que la cible de test a le même profil d'approvisionnement que le profil principal.

35
Mohebifar

J'ai eu ce problème avec les droits iCloud. Mon problème était que j'avais oublié d'activer iCloud pour mon identifiant d'application dans le portail de provisioning.

Après avoir activé iCloud pour votre identifiant d'application, vous devrez recréer les profils d'approvisionnement.

29
adjwilli

Conservez votre fichier de droits dans Cible> Paramètres de construction> Signature de code> Droits de signature de code.

Allez à Cible> Capacités . Activez/désactivez ou désactivez/activez l'une des capacités.

Courir.

20
ZpaceZombor

Ce qui a fonctionné pour moi a été de supprimer complètement le fichier de droits, de la liste des groupes et des paramètres de construction dans le projet et la cible. Ensuite, j'ai recréé les droits à partir de l'onglet Résumé de la cible, qui s'est bien chargée sans aucun message d'erreur. 

19
Mark Knopper

Juste en mettant mes 5 cents ici. Pour moi, rien de ce qui précède n’a fonctionné, alors j’ai été obligé de me calmer et de regarder chaque partie du processus avec un regard neuf.

En se précipitant, j'ai oublié que j'essayais d'installer mon application sur un tout nouvel appareil.

Donc, mon erreur était que je n'avais pas mis à jour mon profil d'approvisionnement en cochant mon nouveau périphérique dans la section "Périphériques" de la configuration du profil d'approvisionnement dans le portail d'approvisionnement.

Apparemment, l'inclusion de votre périphérique dans le profil d'approvisionnement génère également ce message d'erreur.

15
PinkFloydRocks

Aucune des nombreuses réponses n'a corrigé l'erreur 0xE8008016 pour moi. 

Mais lorsque j'ai choisi "Provisioning automatique de périphérique" dans Xcode 4> Organiseur> Périphériques> Profils de provisioning, cela a finalement fonctionné.

12
auco

Dans mon cas, c'était une erreur stupide. J'ai incorrectement paramétré le schéma "Exécuter" pour utiliser la configuration de construction "Distribution" au lieu de celle "Debug" ou "Release" . Erreur stupide, mais il a fallu un certain temps pour la déboguer, je vais donc ajouter ma réponse pour améliorer la base de connaissances à l'intérieur du débordement de pile!

11
viggio24

Supprimez vos profils de provisioning, effectuez un nettoyage complet, assurez-vous que vos paramètres de provisioning sont corrects, effectuez un nouveau téléchargement, puis essayez à nouveau. 

10
W Dyson
  1. Ouvrez 'iOS Provisioning Portal' dans Safari.
  2. Appuyez sur "Appareils" dans la barre latérale.
  3. Enregistrez le UDID de votre appareil
  4. Appuyez sur "Profils d'approvisionnement"
  5. Modifiez le profil de votre application.
  6. Sélectionnez le périphérique que vous venez d'ajouter.
  7. Téléchargez le fichier .mobileprovision.
  8. Installez-le.
  9. Construire à nouveau.
4
neoneye

J'ai eu le même problème dans mon application, après quelques mois, cette application spécifique a bien fonctionné.

Le problème était que les fonctionnalités configurées dans mon projet Xcode (sous Cibles -> {NomProjet} -> Fonctionnalités) n'étaient pas identiques aux fonctionnalités configurées dans le profil d'approvisionnement (vous pouvez le vérifier dans le centre des membres Apple sous Identifier -> Application. Ids -> {{votre ID d'application}. Dans le centre des membres, j'ai constaté que Game Center est activé et, dans mon projet, j'ai également activé Game Center. L'application a ensuite été lancée.

Je ne sais pas comment ça a fonctionné jusqu'à maintenant. C'est encore un mystère :)

4
bobsacameno

Si vous n'avez rien changé concernant les certificats (ne les avez pas remplacés ou mis à jour), il suffit de faire un Product -> Clean. Cela m'a aidé plusieurs fois. (Xcode 6.2)

3
tesla

Pour moi, cochez l'option "Gérer automatiquement la signature" dans Cible résolvez le problème!

3
Carlos Jim

Supprimer le dossier xcuserdata a résolu mon problème. Plus de détails ici: https://stackoverflow.com/a/9968884/300694

3
vinzenzweber

Cela m’est arrivé lorsque j’essayais par erreur d’utiliser un profil d’approvisionnement de distribution App Store pour un test local. Lorsque j'ai utilisé le profil de développement approprié, cela a très bien fonctionné. Peut-être que cela aide aussi quelqu'un.

2
Thomas Mondel

Cela m'est arrivé sur Xcode 8, cela était en partie causé par le nouveau paramètre de construction Provisioning Profile, car dans cette version de Xcode, il y a deux entrées pour le profil d'approvisionnement:

  • Profil d'approvisionnement
  • Profil d'approvisionnement (obsolète)

Ma faute était que je n'avais mis à jour que le premier, et que l'entrée obsolète indiquait toujours un profil de provisioning non valide. Le fait de changer les deux à la même valeur a résolu le problème (effacer l'entrée obsolète devrait également avoir le même effet).

2
Cristik

J'ai rencontré ce problème aujourd'hui et je tirais mes cheveux pour essayer de le résoudre. Comme beaucoup de gens ici, cela fonctionnerait si je supprimais les options iCloud de mon fichier de droits. Lorsque j'allais déboguer l'application avec les options iCloud activées, j'obtenais l'erreur 0xe8008016. C'était juste après la révocation et la régénération de nouveaux certificats.

Donc ce qui a été résolu pour moi a été d'activer le support iCloud pour le profil d'équipe Xcode généré automatiquement. Connectez-vous à l'outil de provisioning en ligne, accédez à App IDs, cliquez sur Xcode iOS Wildcard App ID, cliquez sur edit, activez iCloud en cochant la case correspondante, puis cliquez sur Done. Actualisez vos profils dans Xcode, puis il commencera à fonctionner.

Cela a du sens: lorsque vous déboguez, le profil d’équipe par défaut est activé et iCloud doit être activé.

2
kurtzmarc

Cela a fonctionné pour moi ... 

  1. J'ai supprimé le fichier Entitlements de la target.
  2. Supprimé l'application de tous mes appareils
  3. Cleaned la construction dans Xcode
  4. * facultatif supprimer le profil d'approvisionnement et l'ajouter de nouveau

J'espère que ça marche pour vous aussi :)

2
Joe Barbour

C'est ce qui a résolu mon problème: Supprimer le chemin d'accès dans la section Droits de signature de code des paramètres de construction des cibles. 

2
Jeremy Kelleher

Mon profil d'approvisionnement fourni par un développeur Apple correspondait à mes capacités Xcode, mais il ne s'appuyait toujours pas sur mon appareil tant que je n'avais pas procédé comme suit:

  1. Supprimer/Supprimer le fichier de droits de votre projet Xcode.

  2. Retourner à l'onglet Capacités Xcode

  3. Appuyez sur le bouton "Correction du problème" pour que Xcode rajoute le fichier de droits.

Travaillé pour moi, espérons que cela aide quelqu'un.

2
Henry Heleine

J'avais vieux projet et même problème et j'ai résolu.

1.Allez au sommaire
2. Résumé avoir des groupes de trousseau et supprimer keychanin objet de groupes.

J'espère que cela fonctionnera pour vous . Cordialement.

1
Erhan Demirci

Pour moi, dans Xcode 5.1, j'obtenais The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. lorsque j'essayais de tester l'application sur mon appareil. Le certificat de développement d'appareil doit expirer en février 2015.

Le problème a été résolu:

Target->Capabilities sélectionné, sous GameCenter, je rencontrais ici une erreur concernant le droit d'utilisation de GameCenter car il n'était pas ajouté au projet, bien que la première version de l'application ait été publiée via le même XCode 5.1, mais aucune erreur de ce type ne s'était produite auparavant.

Ci-dessous, un bouton portant le titre Fix Issue a été attribué. Après avoir cliqué dessus, le droit d'utilisation de GameCenter a été ajouté et le problème a été résolu.

Ensuite, l’écran ressemble à ceci:

enter image description here

Pour moi, il n'y avait rien à voir avec le certificat. L'application fonctionne maintenant avec succès sur l'appareil.

1
MTahir

Un autre problème potentiel générant le message d’erreur suivant: Si vous utilisez un profil de provisionnement parfaitement valide pour votre application principale, mais que vous avez un profil de provisionnement arrivé à expiration ou non valide pour votre extension de widget Aujourd'hui. J'imagine que ce serait la même chose pour une extension de montre Apple. 

Vérifiez tous les profils!

1
apb

Dans mon cas, il semble que Xcode (secrètement) réinitialise le schéma .J'ai constaté que la configuration de construction d'Archive était définie sur Release au lieu de distribution, et après l'avoir modifiée pour le correct, cela a fonctionné.

Je pense qu'il est préférable de vérifier les schémas ainsi que les paramètres de construction.

1
YoonHo

j'utilise xcode 6 et rencontre ce problème pour un iphone 4 en particulier

enfin, je vais à device => profil de provision => 

puis ajoutez le profil manuellement et le problème est résolu. 

1
chings228

Le code sur lequel je travaillais avait un bundleid différent dans l'info-pliste que dans le paramètre de génération Product Bundle Identifier.

J'ai trouvé cela parce que j'ai remarqué ce message dans la console du périphérique dans la vue des périphériques:

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

1
UglyBlueCat

J'ai eu le même problème que 'Snips' ci-dessus - j'ai oublié d'ajouter mon téléphone à un profil de provisioning de développeur mis à jour! Il suffit d’aller sur le portail d’approvisionnement, d’ajouter votre téléphone et de télécharger le nouveau profil. Et d'accord - le message que vous recevez n'est pas très utile!

0
ViperMav

Si vous essayez d'activer la synchronisation iCloud, vous devrez activer iCloud pour l'identificateur d'application utilisé pour créer le profil d'approvisionnement de développement (que Xcode fait automatiquement). Vous devrez également l'activer pour les profils de distribution.

La difficulté réside dans le fait que lorsque vous actualisez des profils dans Xcode, cela ne déclenche pas un renouvellement des profils; ils sont simplement re-téléchargés. Par conséquent, dans votre portail de provisioning iOS sous Provisioning/Development, vous devez vérifier le profil étiqueté (Géré par Xcode) et le supprimer (bouton Supprimer la sélection). Faites cela pour TOUS les profils, le développement et la distribution, que vous devez régénérer.

Maintenant, dans Xcode dans l'Organiseur, supprimez les profils d'approvisionnement que vous êtes sur le point de remplacer.

Maintenant pour en obtenir de nouveaux. Si vous développez pour plus d'une équipe et souhaitez uniquement actualiser une équipe particulière, sélectionnez l'équipe appropriée dans le volet gauche sous ÉQUIPES, sinon sélectionnez Profils de provisioning sous LIBRARY, puis sélectionnez Actualiser.

Enfin, supprimez tous les anciens profils de provisioning de votre appareil susceptibles d'entrer en conflit avec les nouveaux, car les profils ne sont jamais supprimés automatiquement. les nouveaux profils sont simplement ajoutés à la liste.

0
Ryan H.

Vérifiez l'accès KeyChain!

Dans mon cas, j'utilisais le mauvais certificat de distribution associé au profil d'approvisionnement. 

0
Daisy R.

J'ai résolu ce problème en générant à nouveau (et à nouveau) mon profil d'approvisionnement.

0
Fogh

Si vous disposez du certificat pour Apple IOS Developer, il n'est pas nécessaire de définir une valeur pour la clé: "Droits de signature de code" . Paramètres de construction -> Droits de signature de code -> supprimez toute valeur.

0
zhuang.zyh

Cela semble fonctionner pour moi quand je rencontre ceci:

  • Désactiver tous les droits sous Capacités
  • Installer l'application avec un profil d'approvisionnement de base (pas de groupes d'applications, sans Push, pas de partage de trousseau, etc.)
  • Rétablissez les droits et revenez au profil de provisioning approprié. J'annule les modifications ci-dessus à l'aide du contrôle de source.

Désactiver/activer les droits d'accès seuls ne fonctionnait pas pour moi - y compris la désinstallation et la réinstallation de l'application entre-temps, la suppression de DerivedData et le redémarrage de Xcode. Il me semblait que je devais déployer l'application dans cette configuration pour qu'elle puisse à nouveau fonctionner correctement.

J'ai eu ce problème plusieurs fois lorsque mon profil d'approvisionnement a été mis à jour et que je l'ai rechargé dans Xcode. Rien n'avait changé avec les droits autorisés par le profil de provisioning, donc tout aurait dû correspondre comme avant. Cela a peut-être fonctionné pour supprimer mon fichier de droits et le recréer comme le suggèrent d'autres réponses déracinées, également dans l'onglet Capacités; mais j'utilise la méthode ci-dessus pour éviter des modifications aléatoires/non-ops de mon fichier de droits qui a été archivé dans le contrôle de source.

0
carbonblack

Mon problème était que le schéma avait un point d’archivage sur Libération, et que Libérer dans les paramètres de construction avait l’identité Code Signing Identity définie sur l'un des sélecteurs de profil automatiques. Bien "automatique" a mal agi (et a en fait changé son sens depuis deux jours) et indiquait un profil différent de celui que j'avais sélectionné lors de la création de la version ad-hoc. Le pointage de l'identité sur un paramètre explicite et l'utilisation de ce même profil lors de la distribution ont résolu le problème.

0

Vérifiez vos droits par rapport à votre identifiant de bundle d'applications. Il est probable que ce n'est pas pareil.

Cela ne fonctionne toujours pas lorsque j'exporte à des fins de test sur mon périphérique mais en mode Release.

Cela fonctionne pour moi.

0
SyntheticMeshwork

Le problème pour moi était d'essayer de signer l'application avec le certificat de distribution de l'App Store. Le basculement de la certification sur le profil de provisioning d'équipe généré par Xcode a résolu le problème.

0
thst

J'ai également rencontré le même problème, j'étais une telle solution.

Tout d’abord, soyez clair: le profil de provisioning doit choisir "Automatique" pour déboguer.

Si le profil d'approvisionnement est "adhoc", vous ne pouvez pas déboguer, vous pouvez uniquement exporter le fichier ".ipa", importez-le sur iTunes pour l'installation.

0
user3867473

Cela m'est arrivé lorsque j'ai essayé d'installer mon application sur un nouvel appareil ..__ Je l'ai résolue en sélectionnant Automatique pour tous mes profils d'approvisionnement. Après avoir fait cela et essayé d’installer à nouveau, il m’indique maintenant que j’ai simplement besoin d’ajouter ce nouvel appareil à mon profil et m’a attribué un bouton Résoudre les problèmes, ce qui l’a résolu.

0
Harris