62

Einstellung, wenn xcode 8 dabei die Push-Benachrichtigung Einstellung verwenden, im Gegensatz zu xcode 7, xcode 8 Notwendigkeit Entwickler wiederum auf Push-Benachrichtigungen Fähigkeiten Schalter (bei TARGETS -> AppName -> Capabilities folgend pic befanden), push notifications capabilitiesXcode 8 Push-Benachrichtigungsfunktionen und Berechtigungen Datei

es dann wie folgt

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

wird AppName.entitlements Datei generieren, aber für Produktionsversion App, wenn wir die Zeichenfolge

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

dann zeigen die Fähigkeiten eine Warnung

Capabilities warning

und es scheint, unabhängig davon, welche in aps-Umgebung angegebenen String-Wert, können wir immer noch die Push-Gerät Token erhalten bei application:didRegisterForRemoteNotificationsWithDeviceToken:

so Was ist die korrekte Einstellung der Push-Benachrichtigungsansprüche? danke

+2

Alle Nachrichten, dass? Ich habe auch die Option "Produktion" ausprobiert, aber XCode wechselt nach dem Klicken auf "Fix Issue" in "Entwicklung". – WedgeSparda

+4

Ich habe die App archiviert und mit der seltsamen "Entwicklung" -Option nach Appstore geschickt und kann weiterhin Remote-Push-Benachrichtigungen empfangen. In der Zwischenzeit zeigt die Datei mobileprovision in der archivierten App die Option 'production' 'aps-environment' –

+1

in meiner App, wenn ich im Debug bin. apn funktioniert gut, wenn ich für den Unternehmensvertrieb freigebe. i xcode 8.1 iOS erhält keine Push-Benachrichtigung ... –

Antwort

32

Ich kämpfte heute mit Xcode 8 GM. Nachdem ich die Einstellung deaktiviert, mein Entwicklerportal-Bereitstellungsprofil gelöscht und es neu generiert und die Einstellung erneut aktiviert hatte, konnte ich die Warnung in Xcode eliminieren. Denken Sie daran, dass ich nicht mit der Anspruchsdatei herumgespielt habe. Ich habe es in der Entwicklungsumgebung verlassen und nach der Archivierung habe ich die korrekte Einstellung der aps-Umgebung (Produktion) erhalten.

Scheint Xcode stilly sehr fehlerhaft ist tho sogar in GM

+3

danke, ich denke, derzeit müssen wir Apps mit dieser seltsamen Option, aber immer noch richtig Remote Push-Benachrichtigung erhalten. warte auf Apples Korrektur. –

+2

Das ist Wahnsinn - unser Team kann den Wert nicht erreichen, um in die Produktion zu wechseln, obwohl alle lokalen Bereitstellungsprofile weggeblasen werden, Code signiert wird und das verifizierte Produktionsprofil importiert wird – Shaun

+0

@Shaun Versuchen Sie, es in der Berechtigungsdatei zu ändern Sie sehen, dass in Organizer nach der Archivierung und versuchen zu übermitteln? Wenn Sie es im Organizer sehen, deaktivieren Sie die Option "Signierung automatisch verwalten" auf der Registerkarte "Allgemein" in Ihrem Projekt und wählen Sie dann das richtige Bereitstellungsprofil aus der Dropdown-Liste aus. – Shardon

0

Mein Problem mein Pusher Kunde war veraltet und würde nur dann erfolgreich zu debuggen Token drücken. Ein anderes Problem, an dem ich noch arbeite, ist, dass ich die App nur über ein Fitnessstudio mit Legacy-API exportieren konnte. Dies bedeutete nicht, dass die Apnoe-Umgebung "Produktion" war und sie als "Entwicklung" im embedded-mobile.provision-Datei. Ich bin jedoch in der Lage, die App über den xcode Organizer erfolgreich zu implementieren, um jetzt mit apns (prod) zu arbeiten.

0

Ich denke, die bessere Lösung das Projekt Paket geöffnet und offen project.pbxproj

Änderung der CODE_SIGN_ENTITLEMENTS

CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements"; 
+2

Er hat bereits die Berechtigungsdatei in seinem Projekt verlinkt, das Problem ist, dass die Xcode UI eine Warnung anzeigt, und wenn er auf "Problem beheben" klickt, enthält die Berechtigungsdatei den Wert "Entwicklung", was wahrscheinlich jetzt ist, was Sie wollen wenn du deine App veröffentlichst. –