Ich habe eine App zur Einreichung, wenn sie abgelehnt wurde und ich die Nachricht erhalten habe
Fehlende Push-Benachrichtigungsberechtigung - Ihre App scheint sich beim Apple Push Notification-Dienst zu registrieren, aber die Berechtigungen der App-Signatur enthalten nicht die Berechtigung "aps-environment". Wenn Ihre App den Apple Push Notification-Dienst verwendet, stellen Sie sicher, dass Ihre App-ID für die Push-Benachrichtigung im Bereitstellungsportal aktiviert ist, und senden Sie sie erneut, nachdem Sie Ihre App mit einem Distributionsbereitstellungsprofil signiert haben, das die Berechtigung "aps-environment" enthält.
Ich habe meine Ad-hoc-Bereitstellung überprüft und dort eine Aps-Umgebung und Produktion gefunden. Wenn ich jedoch meine Distributionsbereitstellung öffne, finde ich keine.
Ist dies die Ursache für diese Fehlermeldung und die Ablehnung von Apple? Wie kann ich das beheben?
quelle
Stellen Sie sicher, dass Ihre ID-Push-Benachrichtigung auf der Produktionsseite aktiviert ist
wie im Bild erscheinen
Erstellen Sie im Produktionsbereich zwei Zertifikate mit Ihrer ID (Push-Benachrichtigung aktiviert).
App Store und Ad-hoc- Zertifikat
SSL- Zertifikat (Sandbox) des Apple Push Notification Service
Erstellen Sie im Bereich "Verteilung" ein App Store- Profil mit Ihrer ID
Während Sie Ihren Papierkorb hochladen, müssen Sie überprüfen, welches Bereitstellungsprofil verwendet wird und über viele Berechtigungen verfügt
Dies alles verursacht dieses Problem. Ich hoffe, dies ist hilfreich für Sie
quelle
In XCode 8 müssen Sie Push auf der Registerkarte "Funktionen" Ihres Ziels aktivieren und zusätzlich alle Bestimmungen und Zertifikate aktivieren : Xcode 8 "Die Berechtigung für die APS-Umgebung fehlt in der Signatur der App" beim Senden
Mein Blogbeitrag dazu hier .
quelle
Ich habe diese Nachricht aus einem anderen Grund erhalten: Ich habe eine App über Xcode gesendet, ohne zuvor ein App Store-Verteilungsprofil speziell für die App erstellt zu haben. Ich glaube, Xcode verwendet automatisch ein Wildcard-App-Store-Profil, wenn Sie eines installiert haben. Für eine App, die Push-Benachrichtigungen verwendet, ist jedoch ein eigenes Profil erforderlich.
Das Update besteht darin, ein neues App Store-Verteilungsprofil für die App zu erstellen. Anschließend laden Sie es herunter, ziehen es auf Xcode und ändern Ihr Projekt Build-Einstellungen> Codesignatur> Freigeben, um das neue Profil zu verwenden.
quelle
In Anlehnung an die 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 ein wenig vereinfachen, indem Sie die neue Option "Signatur automatisch verwalten" verwenden, die Ihnen das mühsame Herunterladen der Bereitstellungsprofile erspart).
quelle
Für diejenigen, die auf dieses Problem stoßen und tatsächlich Push-Benachrichtigungen in ihren Apps verwenden:
Unsere Push-Zertifikate waren vor kurzem abgelaufen, daher haben wir neue Entwickler- / Produkt-Push-Zertifikate auf die von Apple beschriebene Standardmethode erstellt (ich werde hier nicht näher darauf eingehen, da es beim Aktualisieren im gesamten Web zahlreiche Informationen dazu gibt Ihre Push-Zertifikate für ein weiteres Nutzungsjahr).
Danach tauchte jedoch das Problem in dieser Frage auf. Egal was wir getan haben, wir haben diese E-Mail von Apple erhalten, nachdem wir unsere App gesendet haben. Als wir die Einstellungen unseres Distributionsbereitstellungsprofils im Apple Member Center überprüften, sah alles gut aus (Push war für unsere App-ID für prod / dev aktiviert, und unser Distributionsbereitstellungsprofil war immer noch mit dieser App-ID verbunden, die wir buchstäblich gerade erstellt haben neue Push-Zertifikate für ein weiteres Jahr, wie es die Standardpraxis ist).
Schließlich ist es das, was es für mich gelöst hat:
Ich weiß, dass dies nicht so detailliert ist, wie es sein sollte, wie es Screenshots geben sollte. Ich werde versuchen, es mit Screenshots zu aktualisieren, wenn ich kann, aber vorerst bin ich in einer Zeitkrise und wollte den Überblick behalten was ich da draußen gemacht habe. Es besteht auch eine sehr wahrscheinliche Wahrscheinlichkeit, dass einige oder die meisten der von mir beschriebenen Schritte nicht erforderlich sind. Ich setze sie hier ein, weil ich sie ausgeführt habe und sie möglicherweise zur endgültigen Lösung geführt haben.
quelle
Überprüfen Sie, ob Ihre App-ID Push-aktiviert ist oder nicht auf developer.apple.com im iOS-Bereitstellungsportal. Wenn nicht, konfigurieren Sie Ihr Push-SSL-Zertifikat für Ihre App-ID. Laden Sie es herunter und installieren Sie es erneut in Ihrem Schlüsselbund. Installieren Sie dann Ihr Verteilerprofil in Ihrem Xcode Liabrary
quelle
Ich war auch mit diesem Problem konfrontiert, obwohl ich in meiner App überhaupt keine Push-Benachrichtigungen verwendete. Das Erstellen eines neuen Bereitstellungsprofils funktionierte auch für mich nicht. Was ich tat, war: -
1.Erstellen Sie ein neues Zertifikat nur für den Ad-hoc- und App-Store.
2. Erstellen Sie dann ein Verteilungsprofil mit diesem Zertifikat und integrieren Sie das Profil in Xcode.
Dann neu eingereichter Build mit diesem Profil ohne Vorwarnung genehmigt.
quelle
In meinem Fall habe ich sogar ein myapp.profile erstellt und es manuell in xcode gesetzt. Als ich "show in finder" auswählte und die embedded.mobileprovision lokalisierte und überprüfte, ob die aps-Umgebung in der Datei vorhanden ist, war der Fehler noch da.
Ich ging dann zum Entwicklercenter 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 einreichen, und sicherstellen, dass es das richtige ist. Und nach anderen Antworten kann es aus verschiedenen Gründen verursacht werden, so dass es wirklich ärgerlich sein kann.
AKTUALISIEREN:
Sobald Sie mit dem heruntergeladenen Profil unterschrieben und bestätigt haben, dass
aps-environment
es beim Versuch, es zu senden, vorhanden warApp Store
, sollten Sie in der Lage sein, die Profil- und Codesignaturentität in automatisch und zu änderniOS Developer
. Hoffe, es kann in Xcode 7 verbessert werden.quelle
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-Einstellungen" in " Code Signing Entitlements" war meine .entitlements- Datei nicht für alle Abschnitte verknüpft. Nachdem ich es dem Abschnitt "Beliebiges SDK" hinzugefügt hatte, wurde der Fehler behoben.
quelle
Um dies für eine ausgeworfene Expo-App zu lösen, ging ich zur Registerkarte "Funktionen", aktivierte Push und deaktivierte sie erneut. Dadurch wurde die APNS-Einstellung "Berechtigungen" aus der .entitlements-Datei entfernt.
quelle
Ich hatte das gleiche Problem und meine Lösung bestand darin, die Push-Benachrichtigungsberechtigung von Ziel -> Funktionen hinzuzufügen.
quelle
Dies passierte mir plötzlich, weil das Distributionsprofil meiner App abgelaufen war. Xcode begann stattdessen mit der Verwendung des Platzhalterprofils, für das die Push-Benachrichtigungsberechtigung nicht aktiviert war. Ich habe keine Warnung erhalten. Die Lösung war einfach; Ich musste nur ein weiteres Distributionsprofil für meine App im Apple Developer Member Center erstellen, es herunterladen und doppelklicken, um es in Xcode zu installieren.
quelle
Hier gibt es einige wirklich gute Vorschläge.
In Bezug auf den letzten Screenshot, den Mina nach der ersten Archivierung meiner App bereitgestellt hat, enthielt das beim Hochladen erwähnte Bereitstellungsprofil einen Platzhalter (XC. *). Das ist falsch.
Es waren einige erhebliche Anstrengungen erforderlich, um dieses Problem zu lösen. Ich musste eine Kombination der Vorschläge von Simon Woodside & Mina Fawzy durchführen.
Wenn Sie über vorhandene Zertifikate und Bereitstellungsprofile für Ihr Projekt verfügen, ist jetzt ein guter Zeitpunkt, um alle lokal zu entfernen und alle remote zu widerrufen. Gönnen Sie sich einen Neuanfang.
Der detaillierte Vorschlag von Mina Fawzy ist ausgezeichnet. Wenn Sie Minas Vorschlag ausführen, sollten Sie sich bei korrekter Ausführung online um Sie kümmern.
Geben Sie Simons Vorschlag ein. Zwei Dinge, die ich in meinem Projekt überprüfen musste. Gehen Sie mit XCode hier:
PROJEKT -> EINSTELLUNGEN ERSTELLEN -> CODE-UNTERZEICHNUNG
Überprüfen Sie das Identitäts- und Bereitstellungsprofil für die Codesignatur Eigenschaften . Stellen Sie sicher, dass Sie diese beiden Eigenschaften auf die Ihres Projektnamens festlegen. Lassen Sie nicht zu, dass XCode automatisch für Sie auswählt, und verwenden Sie keine generische Codesignaturidentität (z. B. Iphone Developer).
Stellen Sie sicher, dass Sie die App tatsächlich auf Ihren Geräten installieren können, bevor Sie sich für die Archivierung entscheiden.
quelle
Das größte Problem , dass ich nach der Aktivierung der haben
Push Notification
vonCapabilities
und remaking alle Zertifikate ist , dass der Zielname und der Ordnername in dem das Projekt gespeichert wurde aus 2 Strings zusammengesetzt war , durch ein Leerzeichen getrennt. Nach dem Entfernen des Platzes hat alles gut funktioniert!quelle
Ich hatte dieses Problem, weil meine Berechtigungsdatei aufgrund vorheriger manueller Bearbeitung fehlerhaft war. Ich habe die falsch formatierte Syntax für Berechtigungseinträge entfernt und konnte dann auf der Registerkarte "Funktionen" auf "Fix" klicken, und Xcode hat die Berechtigung zu meiner Datei hinzugefügt.
Hier ist ein Beispiel für eine ordnungsgemäß formatierte Berechtigungsdatei ("
Runner.entitlements
"):quelle
FIX IDEA Hey Leute, ich habe eine App erstellt und keine Push-Benachrichtigungsfunktionen verwendet, aber ich habe trotzdem eine E-Mail erhalten. Nachdem ich die Zertifikate, IDs und Profile der Bundle-ID überprüft hatte, mit der ich meine App im Apple Store Connect im Apple Developer Portal erstellt hatte, stellte ich fest, dass Push-Benachrichtigungen aktiviert waren.
Was Sie tun müssen, ist:
Gehen Sie zur Anmeldeseite für Apple-Entwickler, auf der Sie Ihre Zertifikate auch verwalten können. 2. Wählen Sie auf der rechten Seite die Registerkarte "Zertifikate, IDs und Profile". 3. Wählen Sie jetzt "Kennungen". 4. und die Bundle-ID aus der Liste rechts. 5. Jetzt Scrollen Sie nach unten, bis Sie die Push-Benachrichtigung sehen. 6. Deaktivieren Sie sie. 7. Archivieren Sie Ihren Build und laden Sie ihn erneut in Apple Store Connect hoch
Ich hoffe es hilft!
quelle