web-dev-qa-db-de.com

xcode 8 Push-Benachrichtigungsfunktionen und Einstellungen für Berechtigungsdateien

beim Benutzen xcode 8 die Push-Benachrichtigungseinstellung ausführen, im Gegensatz zu xcode 7, xcode 8 muss vom Entwickler aktiviert werden Schalter für Push-Benachrichtigungsfunktionen (befindet sich unter TARGETS -> AppName -> Capabilities wie folgendes Bild), Push notifications capabilities

anschließend wird die Datei AppName.entitlements wie folgt generiert

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

aber für die Produktionsversion App, wenn wir die Zeichenfolge ändern

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

dann zeigen die Funktionen eine Warnung an

Capabilities warning

und es scheint, egal welcher String-Wert in der aps-Umgebung angegeben ist, wir können immer noch das Push-Device-Token bei application:didRegisterForRemoteNotificationsWithDeviceToken:

wie lauten die korrekten Einstellungen für die Push-Benachrichtigungsberechtigungen? Danke dir

64
CJ Lin

Damit hatte ich heute in Xcode 8 GM zu kämpfen. Nachdem ich die Einstellung deaktiviert, mein Entwicklerportal-Bereitstellungsprofil gelöscht und neu erstellt und die Einstellung erneut aktiviert hatte, konnte ich die Warnung in Xcode entfernen. Denken Sie daran, dass ich nicht mit der Berechtigungsdatei herumgespielt habe. Ich habe es in der Entwicklungsumgebung belassen und nach der Archivierung die richtige Einstellung für die APS-Umgebung (Produktion) erhalten.

Scheint, als wäre Xcode trotz GM ziemlich fehlerhaft

32
Shardon

Mein Problem war, dass mein Pusher-Client veraltet war und nur erfolgreich Pushs ausführen konnte, um Token zu debuggen. Ein weiteres Problem, an dem ich noch arbeite, ist, dass ich die App nur über das Fitnessstudio mit aktivierter Legacy-API exportieren kann. Dies hat nicht dazu geführt, dass die Apns-Umgebung auf "Produktion" eingestellt ist und "Entwicklung" in " embedded-mobile.provision 'Datei. Ich war jedoch in der Lage, die App über den Xcode Organizer erfolgreich für die Arbeit mit Apns (Prod) bereitzustellen.

0
Pellet

Ich denke, die bessere Lösung ist, das Projektpaket zu öffnen und project.pbxproj

ändere das CODE_SIGN_ENTITLEMENTS

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