Ich versuche, eine App in den App Store hochzuladen, und dieser Fehler wird auf der Seite mit den Zertifikaten angezeigt. Soweit ich das beurteilen kann, habe ich das Feld so geändert, dass sie übereinstimmen, aber mir fehlt etwas.
Jede Hilfe wäre sehr dankbar.
entitlements.plist
Datei.Antworten:
Ich bin nicht sicher, warum dies das Problem behoben hat, aber ich bin auf die Registerkarte "Funktionen" meines Ziels gegangen, habe iCloud eingeschaltet, versucht, einen Archiv-Build durchzuführen. Es ist fehlgeschlagen. Ich habe iCloud erneut ausgeschaltet, habe versucht, einen Archiv-Build durchzuführen, und es war erfolgreich Danach konnten die Zertifikate automatisch wieder aufgelöst werden.
quelle
Die von Ihnen erstellte App hat einen falschen
application-identifier
Wert für das, was das Bereitstellungsprofil erwartet. Das Zertifikat für appID com.example.foo für das Team 2ABCDEFG erwartet die Anwendungskennung: 2ABCDEFG.com.example.foo. Ihre App hat angegeben, dass die appID com.example.foo lautet, die Anwendungskennung jedoch nicht übereinstimmt Entweder verwenden Sie das falsche Teampräfix oder Sie haben die BundleID falsch konfiguriert.In meinem Fall verwende ich Build-Schemata, um eine Prod-App und eine QA-App zu erstellen. com.example.foo für prod und com.example.foo.qa für QA. Ich hatte meinen bundleIdentifier in der Info.plist auf $ (PRODUCT_BUNDLE_IDENTIFIER) $ (BUNDLE_SUFFIX) gesetzt, was im Simulator und auf dem Gerät für verschiedene Apps hervorragend funktioniert, wenn die App jedoch während der Archivierungsphase ihre Anwendungskennung generiert darf den von der Info.plist generierten bundleIdentifier nicht lesen.
Um Abhilfe zu schaffen, habe ich FooProject.xcodeproj / project.pbxproj (mit einem Texteditor) bearbeitet, um meine QS buildSettings PRODUCT_BUNDLE_IDENTIFIER in com.example.foo.qa zu ändern
Sie können sich die technischen Fragen und Antworten von Apple ansehen, um zu sehen, wie sie sich eingehend mit der Lösung dieses Problems befassen. Sobald Sie die Codesign-Berechtigungen für Ihre exportierte App ausgeführt haben und sehen, mit welcher Anwendungskennung Ihre App gerade erstellt wurde, sollte es ziemlich schnell sein, zu erkennen, was Sie falsch machen. https://developer.apple.com/library/content/qa/qa1879/_index.html Ich habe diese Seite in meiner Google-Suche nicht gefunden, da sie den Ausdruck aus der Fehlermeldung nicht verwenden oder die Anwendung nicht aufrufen -identifier durch seinen vollständigen Namen, aber sagen Sie stattdessen App ID.
Die Lösung für dieses Problem besteht auch nicht darin, ein neues Bereitstellungsprofil mit der Berechtigung "Anwendungskennung" zu generieren. Diese Berechtigung verfügt jedoch über den Wert im Bereitstellungsprofil, und Ihre App muss übereinstimmen.
quelle
Klicken Sie mit der rechten Maustaste auf Finder -> Gehe zu Ordner ...
Für Xcode 11
Löschen Sie alle Bereitstellungsprofile.
quelle
~/Library/MobileDevice/Provisioning Profiles/
Möglicherweise fehlte die Datei {project} .entitlements. Wenn Sie das tun, was @samkass erwähnt hat, wird die Datei automatisch generiert und funktioniert. Gehen Sie also einfach zur Registerkarte Funktionen, aktivieren Sie alles und deaktivieren Sie es.
quelle
Durch Ändern des iCloud-Schalters auf Ein, Erstellen und Deaktivieren von iCloud wurde der Fehler behoben, der Folgendes besagt:
quelle
Bitte überprüfen Sie die für Ihre Anwendung erforderlichen Anwendungsfunktionen wie Beim Kauf einer App, Push-Benachrichtigung, Inter-App-Audio, Siri-Kit usw.
Dies ist die einzige Ursache für diese Art von Fehler.
Stellen Sie sicher, dass in Ihrer App-ID die oben genannten Flags aktiviert sind.
Meistens passiert es, wenn Sie keine Push-Benachrichtigung konfiguriert haben. Beim App-Kauf in Ihrer Entwicklungs-App-ID.
quelle
Ich ging zur Registerkarte "Funktionen" meines Ziels, schaltete die Schlüsselbundfreigabe ein und es funktioniert
quelle
In Xcode 11 kann dies passieren, wenn für Ihr Projekt keine .entitlement-Datei vorhanden ist. Die Lösung wäre, eine zufällige Funktion hinzuzufügen, indem Sie unter "Signieren & Funktionen" auf "+ Fähigkeit" klicken (was zur Erstellung einer .entitlement-Datei führt) und dann die Fähigkeit entfernen. Auf diese Weise können Sie auch automatisch ein Zertifikat bereitstellen.
quelle
In Xcode 10 habe ich es zum Laufen gebracht, indem ich die Berechtigungsdatei in den richtigen Ordner in Project Navigator verschoben habe. Ich hatte die Berechtigungsdatei nicht, aber ich habe es geschafft, eine zu erhalten, indem ich die Funktionen auf der Registerkarte "Funktionen" umgeschaltet habe.
quelle
In meinem Fall war das Problem wie folgt: Das für den Erstellungsschritt verwendete Bereitstellungsprofil wurde für eine andere App-ID als das für den Exportschritt verwendete Bereitstellungsprofil erstellt.
Stellen Sie daher sicher, dass Sie dasselbe Bereitstellungsprofil für den Erstellungs- und Exportschritt verwenden.
quelle
Für mich war der Trick zu
quelle
Was für mich funktioniert hat war, dass ich das Archiv in XCode 11 erstellt und den Upload in Xcode 12 Beta durchgeführt habe.
quelle
Überprüfen Sie die Funktionen in der App mit Optionen, die Sie für Ihre App-ID in Ihrem Entwicklerkonto aktiviert haben.
quelle
Ich habe einige Optionen ausprobiert, die in den Antworten hier aufgeführt sind, aber keine hat geholfen. Das Aktivieren und Deaktivieren des Kontrollkästchens "Automatisch das Abmelden verwalten" hat das Problem behoben.
quelle
Ich habe den gleichen Fehler erhalten und keine der oben genannten Lösungen hat das Problem in meinem Fall gelöst.
Für mich hat es funktioniert, die Einstellung "Kann debuggt werden" in der Datei "Entitlements.plist" von "NEIN" in "JA" zu ändern.
quelle
TL; DR: Überprüfen Sie Ihre App-ID und stellen Sie sicher, dass die Dienste mit Ihren Zielen übereinstimmen.
Was mir passiert ist, war, dass ich mich mit Xcode 10.1 beim Erstellen einer App-ID unterstützen ließ. Danach stoße ich auf das hier beschriebene Problem. (Ich habe die Whildcard-App-ID ausgewählt, als ich die App in iTunesConnect erstellt habe, daher habe ich nicht einmal bemerkt, dass dies geschehen ist.) Als ich das iOS-Entwicklerportal öffnete, wurden für die neue App-ID Game Center und In App Purchase automatisch aktiviert.
Da ich Game Center in Ihrem nicht aktivieren konnte
Target -> Capabilities
, habe ich In App Purchase aktiviert und dann konnte meine App signiert und hochgeladen werden.quelle
Als wir vor dem gleichen Problem standen, haben wir alle oben genannten Dinge ausprobiert, aber nichts davon hat funktioniert.
Bei uns hat sich die Bundle-ID so geändert, dass sie nicht mit der vorherigen identisch ist, z. B. "com.name.App" in "com.name.App2". Lassen Sie xcode versuchen, ein Bereitstellungsprofil abzurufen / zu erstellen, und versuchen Sie es dann wieder mit dem ursprünglichen Profil.
Diese Idee stammt aus diesem Thread in den Entwicklerforen von Apple: https://forums.developer.apple.com/thread/114539
quelle
Ich bin kürzlich auf diese Seite gestoßen, nachdem ich versucht hatte, ein doppeltes Ziel zu erstellen - keiner der Vorschläge hat für mich funktioniert. Weitere Untersuchungen und ein gewisses Maß an Haarsträhnen führten schließlich dazu, dass ich die Build-Einstellungen für meine App durchsuchte, um herauszufinden, was nicht stimmte.
Es stellte sich heraus, dass mein Projekt immer noch auf die Berechtigungsdatei des ORIGINAL-Ziels zeigte, anstatt über eine eigene zu verfügen. Um dies zu beheben, habe ich im Finder zur ursprünglichen Berechtigungsdatei navigiert (z. B. $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ), eine Kopie im selben Ordner erstellt und sie dann umbenannt (z. B. NewTargetName.entitlements).
Dann öffnete ich meine neue Berechtigungsdatei und änderte das Feld für die Anwendungskennung so, dass es mit dem Ende der Paketkennung meines neuen Ziels übereinstimmt (z. B. ABCDEFGH.US.co.fake-company.superduperapp-newtargetname ).
Schließlich habe ich das Feld "Code Signing Entitlements" in den Build-Einstellungen auf den Pfad meiner Berechtigungsdatei aktualisiert (für mich war dies etwas in Anlehnung an $ {SRCROOT} /MyProject/Entitlements/TargetName.entitlements ).
Ich kehrte zur Registerkarte Signing & Capabilities zurück und siehe da, das Problem wurde behoben. Hoffe, jemand da draußen findet das nützlich.
quelle
Gehen Sie zur Registerkarte " Info" von Xcode und ändern Sie das Feld " Bundle-ID". Nach dem Ändern des App-Namens hat sich nichts geändert, obwohl ich die Bundle-ID auf der Registerkarte "Allgemein" geändert habe. Die obigen Korrekturen haben bei mir nicht funktioniert, aber diese hat sofort funktioniert.
quelle
Ich hatte dieses Problem mit einer brandneuen App in Xcode 12 Beta 3 ( App-Einreichungen haben heute begonnen ).
Bei Xcode war "Anmeldung automatisch verwalten" aktiviert. Die im "Signaturzertifikat" angezeigte Team-ID stimmte jedoch nicht mit der auf der iTunes Connect-Website angezeigten Team-ID überein. Dies war die Hauptursache dafür, dass die App nicht hochgeladen werden konnte.
Wie ich es behoben habe:
quelle
Beim Einrichten einer Gitlab-Pipeline, in der exportArchive cmd ausgeführt und in den AppStore hochgeladen wird, ist dasselbe Problem aufgetreten. Ich konnte es zum Laufen bringen, indem ich DEVELOPMENT_TEAM in den Build-Einstellungen in dasselbe Team änderte, das in Signing & Certs ausgewählt wurde.
Weil es zuvor auf leer gesetzt war, was standardmäßig eine andere DEV TEAM-ID verwendete, die falsch war und nicht übereinstimmte, und sich darüber beschwerte, dass die "Anwendungskennung" = 12331232.com.bannana.apples.peach nicht übereinstimmte. Was mich dazu brachte, das richtige DEV-TEAM einzustellen und es hat funktioniert.
Xcode ver: Version 11.3.1
Ich hoffe das hilft jemandem.
quelle