Ich erhalte den gefürchteten Fehler, The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
wenn ich versuche, meine erste App auf einem Gerät ohne Jailbreak unter iOS 4.2.6 (Verizon) bereitzustellen. Die Sache ist, ich habe keine Entitlements file
in meinem Projekt, da ich sie überhaupt nicht verteile, sondern nur auf einem Gerät platziere. Ich habe alle Reifen und Schleifen durchlaufen, durch die Apple Sie (Zertifikat, Gerät, Bereitstellung) bis auf den Brief führt, und ich kann nicht herausfinden, was falsch läuft.
Kann mir bitte jemand bei diesem Problem helfen?
iphone
objective-c
code-signing
provisioning-profile
code-signing-entitlements
Richard J. Ross III
quelle
quelle
Build Settings > Code Signing > Code Signing Entitlements
konnte ich dieses Projekt erstellen.Antworten:
Ich bin gerade auf dieses Problem gestoßen. Das Problem war, dass ich eine Entitlements.plist-Datei im Projekt als Teil einer Ad-hoc-Distribution hatte und die Eigenschaft get-task-allow (dh 'kann debuggt werden') auf NO gesetzt wurde - Wenn Sie dies auf YES setzen, wurde das Problem behoben und die App konnte von Xcode4 auf dem in der Entwicklung befindlichen Gerät ausgeführt werden.
Natürlich muss es für Ad-hoc-Distributionen auf NO zurückgesetzt werden, aber ich dachte nur, ich würde es erwähnen, falls jemand anderes auf dasselbe Problem stößt.
quelle
Ich hatte dieses Problem mit Xcode 4.2.1.
Für mich hatte das nichts mit Entitlements-Datei oder Ad-hoc zu tun ...
Ich kehrte zu einem alten Projekt zurück und hatte vergessen, mein neues iPhone zur Bereitstellung hinzuzufügen.
Dummer Fehler, aber auch eine dumme entsprechende Fehlermeldung ...: - /
quelle
Wenn Sie React-Native verwenden, stellen Sie sicher, dass das Testziel dasselbe Bereitstellungsprofil wie das Hauptziel hat.
quelle
Ich hatte dieses Problem mit den iCloud-Berechtigungen. Mein Problem war, dass ich vergessen habe, iCloud für meine App-ID im Provisioning Portal zu aktivieren.
Nachdem Sie iCloud für Ihre App-ID aktiviert haben, müssen Sie die Bereitstellungsprofile neu erstellen.
quelle
Bewahren Sie Ihre Berechtigungsdatei unter Ziel> Build-Einstellungen> Codesignatur> Codesignatur-Berechtigungen auf.
Gehen Sie zu Ziel> Funktionen. Schalten Sie eine der Funktionen ein / aus oder aus / ein.
Lauf.
quelle
Für mich hat es funktioniert, die Berechtigungsdatei vollständig aus der Gruppenliste und aus den Build-Einstellungen in Projekt und Ziel zu löschen. Dann habe ich die Berechtigungen auf der Registerkarte "Zusammenfassung" im Ziel neu erstellt und sie wurden ohne Fehlermeldungen einwandfrei geladen.
quelle
Ich lege hier nur meine 5 Cent ein. Für mich funktionierte keines der oben genannten Dinge, so dass ich gezwungen war, Stress abzubauen und tatsächlich jeden Teil des Prozesses mit neuen Augen zu betrachten.
Als ich das beschleunigte, vergaß ich, dass ich versuchte, meine App auf einem völlig neuen Gerät zu installieren.
Mein Fehler war also, dass ich mein Bereitstellungsprofil nicht aktualisiert habe, indem ich mein neues Gerät im Abschnitt "Geräte" des Bereitstellungsprofil-Setups im Bereitstellungsportal angekreuzt habe.
Wenn Sie Ihr Gerät anscheinend nicht in das Bereitstellungsprofil aufnehmen, wird auch diese Fehlermeldung generiert.
quelle
Keine der vielen Antworten hat den 0xE8008016-Fehler für mich behoben.
Aber als ich unter Xcode 4> Organizer> Geräte> Bereitstellungsprofile "Automatische Gerätebereitstellung" auswählte, funktionierte es endlich.
quelle
In meinem Fall war es ein dummer Fehler. Ich habe das "Run" -Schema falsch eingestellt, um die Build-Konfiguration "Distribution" anstelle der "Debug" - oder "Release" -Konfiguration zu verwenden. Dummer Fehler, aber das Debuggen hat eine Weile gedauert, also werde ich meine Antwort hinzufügen, um die Wissensbasis innerhalb des Stapelüberlaufs zu verbessern!
quelle
Löschen Sie Ihre Bereitstellungsprofile, führen Sie "Alle bereinigen" durch, stellen Sie sicher, dass Ihre Bereitstellungseinstellungen korrekt sind, laden Sie sie erneut herunter und versuchen Sie erneut, sie auszuführen.
quelle
quelle
Ich hatte das gleiche Problem in meiner App, nach ein paar Monaten funktionierte diese spezielle App einwandfrei.
Das Problem bestand darin, dass die in meinem Xcode-Projekt (unter Ziele -> {Projektname} -> Funktionen) konfigurierten Funktionen nicht mit den im Bereitstellungsprofil konfigurierten Funktionen übereinstimmten (dies können Sie im Apple Member Center unter Kennung -> App überprüfen IDs -> {Ihre App-ID}. Im Mitgliedercenter habe ich gesehen, dass Game Center aktiviert ist, und daher habe ich in meinem Projekt auch Game Center aktiviert. Dann konnte die App gestartet werden.
Ich weiß bis jetzt nicht, wie es funktioniert hat. Das ist immer noch ein Rätsel :)
quelle
Aktivieren Sie für mich die Option "Signieren automatisch verwalten" in Ziel, um das Problem zu lösen!
quelle
Das Löschen des Ordners xcuserdata hat mein Problem behoben. Mehr dazu hier: https://stackoverflow.com/a/9968884/300694
quelle
Wenn Sie nichts an Zertifikaten geändert haben (diese nicht ersetzt oder aktualisiert haben), führen Sie einfach a aus
Product -> Clean
. Es hat mir mehrmals geholfen. (Xcode 6.2)quelle
Ein Upgrade auf XCode 4 hat das Problem behoben.
quelle
Ich bin heute auf dieses Problem gestoßen und habe mir die Haare ausgezogen, um es herauszufinden. Wie viele Leute hier würde es funktionieren, wenn ich die iCloud-Optionen in meiner Berechtigungsdatei entfernen würde. Wenn ich die App mit aktivierten iCloud-Optionen debuggen würde, würde der Fehler 0xe8008016 angezeigt. Dies geschah direkt nach dem Widerruf und der Neuerstellung neuer Zertifikate.
Für mich war es also eine Lösung, die iCloud-Unterstützung für das automatisch generierte Xcode-Teamprofil zu aktivieren. Melden Sie sich beim Online-Bereitstellungstool an, gehen Sie zu
App IDs
, klicken Sie aufXcode iOS Wildcard App ID
, klicken Sie aufedit
, aktivieren Sie iCloud, indem Sie das Kontrollkästchen aktivieren und schließlich klickenDone
. Aktualisieren Sie Ihre Profile in Xcode und es beginnt zu funktionieren.Dies ist sinnvoll - beim Debuggen wird standardmäßig das Teamprofil verwendet, und für das Teamprofil muss iCloud aktiviert sein.
quelle
Ist mir passiert, als ich versehentlich versucht habe, ein App Store Distribution Provisioning-Profil für lokale Tests zu verwenden. Wenn ich das richtige Entwicklungsprofil verwendet habe, hat es einwandfrei funktioniert. Vielleicht hilft das auch jemandem.
quelle
Das hat bei mir funktioniert ...
Entitlements
Datei aus dem gelöschttarget
.Cleaned
der eingebaute XcodeHoffe es funktioniert auch für euch :)
quelle
Dies hat mein Problem gelöst: Löschen des Pfads im Abschnitt Codesignaturberechtigungen der Build-Einstellungen für Ziele.
quelle
Mein Bereitstellungsprofil vom Apple-Entwickler stimmte mit meinen Xcode-Funktionen überein, wurde jedoch erst dann auf meinem Gerät erstellt, wenn ich Folgendes getan habe:
Entfernen / Löschen der Berechtigungsdatei aus Ihrem Xcode-Projekt.
Kehren Sie zur Registerkarte Xcode-Funktionen zurück
Klicken Sie auf die Schaltfläche "Problem beheben", damit Xcode die Berechtigungsdatei erneut hinzufügt.
Hat für mich gearbeitet, hoffe es hilft jemandem.
quelle
Ist mir auf Xcode 8 passiert, wurde dies teilweise durch die neue
Provisioning Profile
Build-Einstellung verursacht, da in dieser Xcode-Version zwei Einträge für das Bereitstellungsprofil vorhanden sind:Mein Fehler war, dass ich nur den ersten aktualisiert habe und der veraltete Eintrag immer noch auf ein ungültiges Bereitstellungsprofil zeigte. Das Ändern beider Werte auf denselben Wert hat das Problem behoben (das Löschen des veralteten Eintrags sollte ebenfalls den gleichen Effekt haben).
quelle
In meinem Fall sieht es so aus, als würde Xcode das Schema (heimlich) zurücksetzen. Ich habe festgestellt, dass die Build-Konfiguration für Archive auf Release anstatt auf Distribution One eingestellt war, und nachdem ich sie in die richtige geändert habe, hat sie funktioniert.
Ich denke, es ist besser, die Schemata sowie die Build-Einstellungen zu überprüfen.
quelle
Ich hatte ein altes Projekt und das gleiche Problem und habe es gelöst.
1.Gehen Sie zur Zusammenfassung
2.Zusammenfassung haben Sie Schlüsselbundgruppen und löschen Sie das Objekt der Schlüsselanpassgruppen.
Ich hoffe es wird für dich funktionieren. Grüße.
quelle
Ich verwende Xcode 6 und stoße auf dieses Problem für ein bestimmtes iPhone 4
Schließlich gehe ich zu Gerät => Bereitstellungsprofil =>
Fügen Sie dann das Profil manuell hinzu, und das Problem ist behoben.
quelle
Für mich in Xcode 5.1 bekam ich
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
beim Versuch, die App auf meinem Gerät zu testen. Das Geräteentwicklungszertifikat muss im Februar 2015 ablaufen.Problem wurde behoben:
Ausgewählte
Target->Capabilities
, unter Game Center, hier wurde ich Fehler immer auf dem Anspruch Game Center , da es nicht zu Projekt hinzugefügt wurde, obwohl erste Version von Anwendung über gleiche XCode veröffentlicht wurde 5.1 , aber es gab keine Fehler , wie dies vor.Unten wurde eine Schaltfläche mit dem Titel angegeben
Fix Issue
. Beim Klicken wurde die GameCenter-Berechtigung hinzugefügt, und das Problem wurde behoben.Nach den Stationen sieht der Bildschirm folgendermaßen aus:
Für mich hatte das nichts mit Zertifikat zu tun. Die App wird jetzt erfolgreich auf dem Gerät ausgeführt.
quelle
Ein weiteres potenzielles Problem, das diese Fehlermeldung auslöst: Wenn Sie ein perfekt gültiges Bereitstellungsprofil für Ihre Hauptanwendung verwenden, aber ein abgelaufenes oder anderweitig ungültiges Bereitstellungsprofil für Ihre Today-Widget-Erweiterung haben. Ich kann mir vorstellen, dass dies auch für eine Apple Watch-Erweiterung der Fall ist.
Überprüfen Sie alle Profile!
quelle
Überprüfen Sie den KeyChain-Zugriff!
In meinem Fall habe ich das falsche Verteilungszertifikat verwendet, das dem Bereitstellungsprofil zugeordnet ist.
quelle
Der Code, an dem ich arbeitete, hatte in der Info-Liste ein anderes Bundleid als in der
Product Bundle Identifier
Build-Einstellung.Ich habe dies gefunden, weil ich diese Meldung in der Gerätekonsole in der Geräteansicht bemerkt habe:
MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'
quelle
Wenn Sie versuchen, die iCloud-Synchronisierung zu aktivieren, müssen Sie iCloud für die AppID aktivieren, mit der das Entwicklungsbereitstellungsprofil erstellt wird (was Xcode automatisch ausführt). Sie müssen dies auch für Verteilungsprofile aktivieren.
Der schwierige Teil ist, dass beim Aktualisieren von Profilen in Xcode keine Erneuerung der Profile ausgelöst wird. Sie werden einfach erneut heruntergeladen. Daher müssen Sie in Ihrem iOS-Bereitstellungsportal unter Bereitstellung / Entwicklung das mit (Verwaltet von Xcode) gekennzeichnete Profil überprüfen und löschen (Schaltfläche Ausgewählte entfernen). Tun Sie dies für ALLE Profile, Entwicklung und Verteilung, die Sie neu generieren müssen.
Löschen Sie jetzt in Xcode im Organizer Bereitstellungsprofile, die Sie ersetzen möchten.
Nun, um neue zu bekommen. Wenn Sie für mehr als ein Team entwickeln und nur ein bestimmtes aktualisieren möchten, wählen Sie im linken Bereich unter TEAMS das entsprechende Team aus. Andernfalls wählen Sie unter BIBLIOTHEK Bereitstellungsprofile aus und anschließend Aktualisieren.
Entfernen Sie schließlich alle alten Bereitstellungsprofile auf Ihrem Gerät, die mit den neuen in Konflikt stehen könnten, da Profile niemals automatisch gelöscht werden. Neuere Profile werden einfach zur Liste hinzugefügt.
quelle