it-swarm.com.de

Fehlender Push-Benachrichtigungsanspruch

Ich habe eine App zur Vorlage, wenn sie abgelehnt wurde und ich die Nachricht erhalten habe

Fehlende Push-Benachrichtigungsberechtigung - Ihre App scheint sich zu registrieren mit dem Apple Push Notification Service, aber die Signatur der App Berechtigungen enthalten nicht die Berechtigung "APS-Umgebung". Wenn dein App verwendet den Apple Push-Benachrichtigungsdienst. Stellen Sie sicher, dass Ihre App-ID .__ ist. Für die Push-Benachrichtigung im Bereitstellungsportal aktiviert, und erneut übermitteln Nachdem Sie Ihre App mit einem Verteilungs-Provisioning-Profil signiert haben, enthält die Berechtigung "aps-environment".

Ich überprüfte meine Ad-hoc-Bereitstellung und fand dort APS-Umgebung und -Produktion. Wenn ich jedoch meine Distributionsbereitstellung eröffne, finde ich dies nicht.

Ist dies die Ursache für diese Fehlermeldung und die Ablehnung durch Apple? Wie kann ich sie beheben?

102
paul polo

Ja, das ist die Ursache für die Ablehnung des App Store. Wenn Ihr Ad-hoc-Bereitstellungsprofil über den aps-Umgebungsschlüssel verfügt, bedeutet dies, dass Ihre App im Apple Provisioning Portal richtig konfiguriert ist. Alles, was Sie tun müssen, ist, das App Store-Verteilungsprofil auf Ihrem lokalen Computer zu löschen, das Verteilungsprofil erneut herunterzuladen und vom Bereitstellungsportal zu installieren. Dieser neue sollte den APS-Umgebungsschlüssel enthalten.

73
tom

Erste App-ID

stellen Sie sicher, dass Ihre ID-Push-Benachrichtigung auf der Produktionsseite aktiviert ist 

wie im Bild erscheinen 

enter image description here

Zweites Zertifikat 

erstellen Sie im Produktionsabschnitt zwei Zertifikate mit Ihrer ID (Push-Benachrichtigung aktiviert)

App Store und Ad Hoc Zertifikat

Apple Push-Benachrichtigungsdienst SSL (Sandbox) certificate 

enter image description here

Dritte Bereitstellungsprofile 

Erstellen Sie im Bereich "Distribution" App Store Profil mit Ihrer ID 

Endlich

während Sie Ihre Bin hochladen, müssen Sie überprüfen, welches Provisioning-Profil verwendet wurde Sie haben viele Berechtigungen 

enter image description here

dies führt in allen Fällen zu diesem Problem. __ hoffe, dass dies hilfreich für Sie ist 

41
Mina Fawzy

In XCode 8 müssen Sie Push in der Registerkarte Capabilities Ihres Ziels aktivieren und zusätzlich zu den Bestimmungen und Zertifikaten aktivieren: Xcode 8 "Die ApS-Umgebungsberechtigung fehlt in der Signatur der App" beim Senden

Mein Blogbeitrag dazu hier .

38
Vaiden

Ich habe diese Nachricht aus einem anderen Grund erhalten - ich habe eine App über Xcode übermittelt, ohne zuvor ein App Store-Vertriebsprofil speziell für die App erstellt zu haben. Ich glaube, Xcode verwendet automatisch ein Platzhalter-App Store-Profil, wenn Sie eines installiert haben. Eine App, die Push-Benachrichtigungen verwendet, erfordert jedoch ein eigenes Profil.

Das Update besteht darin, ein neues App Store Distribution-Profil für die App zu erstellen. Dann laden Sie es herunter, ziehen es auf Xcode und ändern Ihr Projekt Build-Einstellungen> Codesignierung> Freigeben, um das neue Profil zu verwenden.

22
Simon Woodside

Nach der Antwort von @Vaiden können Sie dieses Problem in Xcode 8 beheben, indem Sie das Ziel auswählen und auf "Problem beheben" klicken. Natürlich müssen Sie weiterhin Push-Benachrichtigungen im Apple Developer Portal einrichten (Sie können den Vorgang mit der neuen Option "Signatur automatisch verwalten") ein wenig vereinfachen. So sparen Sie sich das Herunterladen der Bereitstellung Profile).

Fix me option

9
Ian

Für diejenigen, die sich mit diesem Problem beschäftigen und Push-Benachrichtigungen in ihren Apps verwenden:

Unsere Push-Zertifikate liefen vor kurzem aus. Daher haben wir neue Dev/Prod-Push-Zertifikate in der von Apple beschriebenen Standardmethode erstellt (ich werde hier nicht näher auf Details eingehen. Es gibt viele Informationen im gesamten Web, wenn Sie ein Update durchführen Ihre Push-Zertifikate für ein weiteres Nutzungsjahr).

Danach tauchte das Problem in dieser Frage jedoch auf. Wir haben diese E-Mail von Apple nach dem Senden unserer App erhalten. Bei der Überprüfung der Einstellungen unseres Distributionsbereitstellungsprofils im Apple Member Center sah alles gut aus (Push war für unsere App-ID für beide Produkte/dev aktiviert, und unser Distributionsbereitstellungsprofil war noch mit dieser App-ID verbunden, die wir buchstäblich gerade erstellt haben neue Push-Zertifikate für ein weiteres Jahr (wie üblich).

Schließlich ist es das, was am Ende für mich gelöst wurde:

  1. Erstellen Sie ein neues Verteilungsbereitstellungsprofil, das auf Ihre App-ID verweist (lassen Sie Ihre aktuelle ID unverändert).
  2. Aktualisieren Sie in Xcode Ihre Einrichtungsprofile über Einstellungen> Konten> Wählen Sie Ihr Konto aus> Details> Klicken Sie auf das Aktualisierungssymbol
  3. Erstellen Sie manuell eine Berechtigungsplistendatei für Ihre App:
    • Menü Datei> Neue Datei ...
    • Wählen Sie iOS> Ressource> Eigenschaftenliste
    • Benennen Sie die neue Datei "foo.entitlements" (normalerweise ist "foo" der Zielname)
    • Klicken Sie auf das Pluszeichen (+) neben "Entitlements File", um ein Element der obersten Ebene hinzuzufügen (der Eigenschaftenlisten-Editor verwendet das korrekte Schema aufgrund der Dateierweiterung.)
  4. Stellen Sie sicher, dass diese Berechtigungsdatei in den Build-Einstellungen Ihres Ziels verwendet wird (Ziel> Build-Einstellungen> Suche nach "Berechtigungen". Legen Sie in CODE_SIGN_ENTITLEMENTS den Pfad zu Ihrer gerade erstellten Berechtigungsdatei fest.)
  5. Stellen Sie sicher, dass die Bereitstellungsprofil-/Codesignaturidentität in Ihrem Target korrekt auf Ihr geeignetes Verteilungsbereitstellungsprofil/die Signaturidentität eingestellt ist (dies sollte offensichtlich sein).
  6. Ich bin nicht zu 100% sicher, ob dies Auswirkungen hatte (dies sollte nicht geschehen, da Zieleinstellungen Projekteinstellungen außer Kraft setzen, aber ich habe dies trotzdem getan). Stellen Sie sicher, dass das Provisioning-Profil/die Signatur Ihres Projekts mit der Ihres Ziels übereinstimmen
  7. Klicken Sie in der Berechtigungsdatei mit der rechten Maustaste in die leere Datei und wählen Sie "Rohschlüssel/Werte anzeigen".
  8. Fügen Sie der Berechtigungsdatei einen neuen Eintrag mit dem Namen "aps-environment" hinzu und setzen Sie den Wert auf "production".
  9. Eine wichtige Anmerkung: Wenn Sie zuvor die Berechtigung "Schlüsselbund-Zugriffsgruppen" verwendet haben, sollten Sie diesen Schlüssel auch hier hinzufügen, da er aus irgendeinem Grund für mich gelöscht wurde, wenn Sie dies manuell tun. Vergewissern Sie sich, dass der Wert mit dem in vorherigen Builds verwendeten Wert übereinstimmt. Sie können den Wert finden, indem Sie in Organizer nach einem vorherigen Build suchen, versuchen, ihn an den App Store zu senden, Ihr Team auszuwählen. Tippen Sie anschließend auf den Pfeil neben dem Symbol Zeichenfolge "(X) Entitlements", um die Berechtigungen zu erweitern und den Wert der Berechtigung "Schlüsselbund-Zugriffsgruppe" anzuzeigen.
  10. Archivieren Sie Ihre App und versuchen Sie, diese zu übermitteln, bis Sie zum endgültigen "Senden" -Button gelangen. Sie sollten sehen, dass diese App jetzt mit dem neuen Bereitstellungsprofil erstellt wurde, das Sie im Member Center erstellt haben. Jetzt hier abbrechen.
  11. Gehen Sie zurück zum Apple Member Center und löschen Sie das neue Bereitstellungsprofil, das Sie in Schritt 1 erstellt haben.
  12. Aktualisieren Sie die Liste der Bereitstellungsprofile erneut in Xcode, indem Sie Schritt 2 wiederholen.
  13. Jetzt archivieren Sie Ihre App erneut, und Sie sollten feststellen, dass die App mit dem alten Verteilungs-Bereitstellungsprofil erstellt wurde, das Sie verwenden wollten, und korrekt über die Berechtigung für die APS-Umgebung verfügt. Senden Sie und Sie sind fertig.

Ich weiß, dass dies nicht so detailliert ist, wie es sein sollte, da es Screenshots haben sollte. Ich werde versuchen, es mit Screenshots zu aktualisieren, wenn ich kann, aber momentan bin ich in einem Zeitraffer und wollte die Jist-Version was ich da draußen gemacht habe Es ist auch sehr wahrscheinlich, dass einige oder die meisten Schritte, die ich skizziert habe, nicht notwendig sind. Ich stelle sie hier, weil ich sie gemacht habe und sie möglicherweise zur endgültigen Lösung geführt haben.

8
Adam Eisfeld

Ich stand auch vor diesem Problem, sogar Ich habe überhaupt keine Push-Benachrichtigungen verwendet in meiner App.Making neues Bereitstellungsprofil funktionierte auch nicht für mich. Was ich getan habe, war: -

1.Neues neues Zertifikat nur für Ad-hoc & App Store erstellen.}

2. Erstellen Sie dann ein Distributionsprofil mit diesem Zertifikat und integrieren Sie das Profil in Xcode.

Dann neu erstellter Build mit diesem Profil ohne Vorwarnung genehmigt.

4
Desert Rose

Überprüfen Sie, ob Ihre App-ID Push aktiviert ist oder nicht auf developer.Apple.com im iOS Provisioning Portal Falls nicht aktiviert, konfigurieren Sie Ihr Push-SSL-Zertifikat für Ihre App-ID. Downloaden Sie es .__ Laden Sie dann Ihr Distrubution-Profil herunter und installieren Sie es in Ihrem Xcode Liabrary

4
Vishal's p

In meinem Fall habe ich sogar ein myapp.profile erstellt und manuell in xcode gesetzt, und als ich "show in finder" auswählte und die embedded.mobileprovision ausfindig machte und überprüfte, ob aps-environment in der Datei vorhanden ist, war der Fehler noch da.

Ich ging dann zum Developer Center und stellte fest, dass der Status von XC: myapp.profile ungültig ist. Ich habe es aktualisiert und das XC: myapp.profile installiert und es hat gut funktioniert.

Ich denke, xcode versucht, das Profil zu verwalten, und Sie müssen das Bereitstellungsprofil überprüfen, wenn Sie Ihre Binärdatei zum Speichern übergeben, und sicherstellen, dass es das richtige ist. Laut anderen Antworten kann dies aus verschiedenen Gründen auftreten, so dass es wirklich nervig sein kann.

AKTUALISIEREN:

Nachdem Sie sich mit dem heruntergeladenen Profil angemeldet und bestätigt haben, dass aps-environment vorhanden war, als Sie versuchten, an App Store zu senden, sollten Sie in der Lage sein, das Profil und die Codesignatur in automatisch und iOS Developer zu ändern. Hoffe, dass es in Xcode 7 verbessert werden kann.

2
superarts.org

Um dies für eine ausgeworfene Expo-App zu beheben, habe ich auf die Registerkarte "Funktionen" gegangen, Push aktiviert und dann wieder deaktiviert. Dadurch wurde die Einstellung der APNS-Berechtigungen aus der .entitlements-Datei entfernt.

1
Chris

Das hat es für mich behoben. (Ich hatte bereits versucht, die Funktionen ein- und auszuschalten, das Bereitstellungsprofil neu zu erstellen usw.).

Auf der Registerkarte Build Settings unter Code Signing Entitlements war meine .entitlements-Datei nicht für alle Abschnitte verlinkt. Nachdem ich es zum Abschnitt Any SDK hinzugefügt hatte, wurde der Fehler behoben.

 enter image description here

1
mogile_oli

Ich hatte das gleiche Problem und meine Lösung bestand darin, die Push-Benachrichtigungsberechtigung von Target -> Capabilities hinzuzufügen.

0
Shalom Dahan

Dies ist mir plötzlich passiert, weil das Verteilungsprofil meiner App abgelaufen ist. Xcode verwendete stattdessen das Platzhalterprofil, für das die Push-Benachrichtigungsberechtigung nicht aktiviert war. Ich habe keine Warnung erhalten. Das Update war einfach; Ich musste nur ein weiteres Vertriebsprofil für meine App im Apple Developer Member Center erstellen, herunterladen und doppelklicken, um die Installation in Xcode durchzuführen.

0
ahmacleod

Hier gibt es einige wirklich gute Vorschläge. 

Bezüglich des letzten von Mina bereitgestellten Screenshots enthielt das beim Hochladen erwähnte Bereitstellungsprofil nach der anfänglichen Archivierung meiner App eine Wildcard (XC. *). Das ist falsch.

Um dies zu lösen, waren erhebliche Anstrengungen erforderlich. Ich musste eine Kombination der Vorschläge von Simon Woodside & Mina Fawzy ausführen. 

Wenn Sie bereits über Zertifikate und Bereitstellungsprofile verfügen, die sich auf Ihr Projekt beziehen, sollten Sie sie alle lokal entfernen und alle Remote-Vorgänge widerrufen. Gönnen Sie sich einen Neuanfang.

Mina Fawzys detaillierter Vorschlag ist ausgezeichnet. Wenn Sie Minas Vorschlag richtig ausführen, sollten Sie online auf Sie aufpassen. 

Gib Simons Vorschlag ein. Zwei Dinge, die ich in meinem Projekt überprüfen musste. Mit XCode gehen Sie hier:

PROJEKT -> EINSTELLUNGEN AUFBAUEN -> CODE-UNTERZEICHNUNG

Überprüfen Sie die Eigenschaften Code Signing Identity und Provisioning Profile. Stellen Sie sicher, dass Sie diese beiden Eigenschaften auf die Ihres Projektnamens setzen. Lassen Sie nicht zu, dass XCode automatisch für Sie ausgewählt wird, und verwenden Sie keine generische Codesignatur (z. B. Iphone Developer).

Vergewissern Sie sich, dass Sie die App tatsächlich auf Ihren Geräten installieren können, bevor Sie sich für ein Archiv entscheiden.

0
Coach Roebuck

Das größte Problem, das ich habe, nachdem ich Push Notification von Capabilities aktiviert habe und alle Zertifikate erneut erstellt habe, ist, dass der Zielname und der Ordnername , in dem das Projekt gespeichert wurde, aus 2 durch Leerzeichen getrennten Zeichenfolgen zusammengesetzt wurden. Nach dem Entfernen des Platzes hat alles gut funktioniert!

0