web-dev-qa-db-fra.com

xcode 8 Paramétrage du fichier de droits d'accès et de capacités de notification push

en utilisant xcode 8 faisant le réglage de notification Push, contrairement à xcode 7, xcode 8 le développeur a besoin d’activer le commutateur de capacités de notifications Push (situé à l'adresse TARGETS -> AppName -> Capabilities comme photo suivante), Push notifications capabilities

alors il générera le fichier AppName.entitlements comme suit

//AppName.entitlements
<key>aps-environment</key>
<string>development</string>

mais pour la version de production App, si nous changeons la chaîne en

//AppName.entitlements
<key>aps-environment</key>
<string>production</string>

alors les capacités montrent un avertissement

Capabilities warning

et il semble que quelle que soit la valeur de chaîne spécifiée dans aps-environment, nous pouvons toujours obtenir le jeton de périphérique Push à l'adresse application:didRegisterForRemoteNotificationsWithDeviceToken:

alors, quel est le réglage correct des droits de notification Push? Merci

64
CJ Lin

Je me débattais avec cela aujourd'hui dans Xcode 8 GM. Après la désactivation du paramètre, la suppression de mon profil d'approvisionnement du portail de développeur, sa régénération et sa réactivation, j'ai été en mesure d'éliminer l'avertissement dans Xcode. N'oubliez pas que je n'ai pas manipulé le fichier de droits. Je l'ai laissée dans l'environnement de développement et après l'archivage, j'ai obtenu le réglage correct (environnement de production).

Semble que Xcode est toujours très bogué, même dans GM

32
Shardon

Mon problème était que mon client pousseur était obsolète et que Push réussirait à déboguer les jetons. Un autre problème pour lequel je travaille toujours sur un correctif est que je ne pouvais exporter l'application que via un gymnase avec Legacy-api activé, cela ne permettait pas de définir l'environnement APN comme étant une "production" et de le laisser comme un "développement" dans fichier embedded-mobile.provision '. J'ai cependant réussi à déployer l'application via l'organiseur xcode pour travailler avec apns (prod) maintenant.

0
Pellet

Je pense que la meilleure solution consiste à ouvrir le package de projet et à ouvrir project.pbxproj

changer la CODE_SIGN_ENTITLEMENTS

CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements";
0
Rain