J'essaie de configurer mon application pour prendre en charge la notification Push, mais le message d'erreur suivant s'affiche: Erreur d'obtention du jeton, erreur: Domaine d'erreur = Code NSCocoaErrorDomain = 3000 "aucune chaîne de droits 'valide' n'a été trouvée pour l'application" UserInfo = 0x1f818fc0 { NSLocalizedDescription = pas de chaîne de droits valide 'environnement-aps' trouvée pour l'application}
Plus d'idées? Merci.
Dans mon cas, les éléments de mon profil d'approvisionnement:
security cms -D -i ~/Downloads/spolskyDevelop.mobileprovision
...
<key>application-identifier</key>
<string>P5GM95Q9VV.com.dca.spolsky</string>
<key>aps-environment</key>
<string>development</string>
Était différent de ce qui était réellement construit dans l'application (vous pouvez savoir où elle est construite en consultant l'onglet Logs de Xcode)
codesign -d --entitlements - '/Users/drew/Library/Developer/Xcode/DerivedData/spolsky-bdbtdfjeeywhqzccpmmceqvnhgtm/Build/Products/Debug-iphoneos/spolsky-ios.app'
<dict>
<key>application-identifier</key>
<string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>Y2X6Z7Z2GR.com.dca.spolsky-ios</string>
</array>
</dict>
C'était vrai même si le texte d'indication "Actuellement correspond" sous Identité de signature de code indiquait le profil d'approvisionnement correct - bizarre, hein? Pour rendre cette histoire étrange, le profil de provisioning correct était installé sur l'appareil lorsque je me présentais (Paramètres-> Général-> Profils), ce qui me laissait croire que le profil de provisioning était correct - mais il revenait à un ID générique. quand l'application était réellement lancé.
L'indice était la différence dans la sortie de ces deux commandes:
Y2X6Z7Z2GR . Com.dca .spolsky-ios vs P5GM95Q9VV . com.dca .spolsky
Lorsque j'ai fait correspondre la partie en gras, la partie en italique a été modifiée pour correspondre automatiquement. De plus, les sorties de security et codesign étaient concordantes et il n’y avait plus d’erreur de droit aps.
Mon hypothèse est que XCode utilisait une correspondance de style générique sur mon identifiant non générique. ("spolsky" est, après tout, assez proche de "spolsky-ios"), ce qui explique la sortie "Actuellement correspond". Mais quelque chose dans la chaîne de construction est plus strict à ce sujet, il revient donc à un ID générique réel pendant la construction.
Le problème est dû au fait que le profil d'approvisionnement actuel ne contient pas d'informations APNS, car le profil d'approvisionnement est créé AVANT créant le certificat APNS.
Par conséquent, pour résoudre le problème, créez un nouveau profil de provisioning et sélectionnez le profil de provisioning dans Xcode pour effacer l'erreur.
J'ai eu ce même problème après que les notifications Push fonctionnaient déjà sur mon appareil. Semblait comme si Xcode avait mis en cache quelque chose de manière incorrecte, l’actualisation a donc résolu mon problème:
Sachez que l'identificateur de groupe doit correspondre au profil d'approvisionnement de manière sensible à la casse. J'ai eu quelque chose comme com.FirstLast.appname quand cela aurait dû être com.firstlast.appname. Eh bien, cela m'a occupé pendant un bon moment.
J'ai résolu ce problème en activant la capacité de notification Push.
Sélectionnez Projet> Cible> Fonctions> Activer les notifications Push.
j'ai eu cette erreur et je n'ai pas créé de nouveau profil d'approvisionnement; en a créé un nouveau puis a dû redémarrer xCode mais fonctionne maintenant!
Si ce problème survient soudainement après la mise à niveau vers Xcode 8, un écran d'avertissement vous permettant de résoudre ce problème automatiquement peut vous être fourni:
Sélectionnez Projet> Cible> Fonctions> Activer les notifications Push.
Je me suis heurté à cela dans ce qui pourrait être un cas d'utilisation peu fréquent. Je travaille avec Xcode 6 et iOS 8. Je créais une série de projets d'application entièrement nouveaux et tentais de réutiliser le même ID d'ensemble, afin de ne pas avoir à passer par toute la configuration côté portail. Cela aussi était juste pour le test du bac à sable.
Je constaterais que, bien que la configuration et l'enregistrement fonctionnent correctement pour la première application, si je supprimais cette application de l'appareil, définissais le même identifiant de bundle pour la seconde application, puis tentais d'enregistrer des PN avec cette application, j'obtiendrais cette erreur.
Ma solution était de:
.mobileprovision
fichier pour le réinstaller dans XcodeCette approche semble faire perdre de vue quel que soit l'état précédent, et je peux enregistrer des PN avec le nouvel identifiant d'application/même bundle.
Produit-> Clean l'a fait pour moi. J'espère que ça le fait pour quelqu'un d'autre.
Pour ceux qui ont eu cette erreur dans iOS 10, vous pouvez essayer les étapes suivantes:
1. nettoyez votre projet.
2.et vérifiez Cibles -> Capacités -> Notification Push. Si elle est désactivée, cliquez dessus.
Et le problème sera résolu. Les étapes ci-dessus m'aident à résoudre ce problème. J'espère que ça aidera à quelqu'un.
Le nouveau profil d'approvisionnement a fonctionné pour moi. Veillez à utiliser un profil de développeur si vous êtes en développement (n'utilisez pas Ad Hoc). C'était bien après cela, je ne savais pas pourquoi l'ancien avait cessé de fonctionner correctement.