Die angegebenen Berechtigungen… Profil. (0xE8008016). Fehler iOS 4.2


142

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 filein 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?


Ich würde Ihnen empfehlen, den folgenden Beitrag durchzugehen. stackoverflow.com/questions/1410080/… diskussionen.apple.com/thread.jspa?threadID=2162558
Jhaliya

15
Das ist seltsam, ich habe eine Ablehnung. Würde die Person, die dies getan hat, bitte erklären?
Richard J. Ross III

Diese Frage hat mir wirklich geholfen , weil es stellte sich heraus , dass ich habe eine Ansprüche Datei haben (und Sie erwähnen es mich wissen das). Durch Entfernen der Referenz in Build Settings > Code Signing > Code Signing Entitlementskonnte ich dieses Projekt erstellen.
Geoff

Antworten:


64

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.


Danke - das hat endlich mein Problem behoben.
EasyCoder

Danke dir! Das hat mich umgebracht.
Alan

"get-task-allow = NO" ließ meine App iCloud sehen, wenn sie als AdHoc ipa verteilt wurde.
Tertium

7
Überprüfen Sie übrigens, ob Sie die richtige Zeichenidentität genau unter Ziel -> Build-Einstellungen und nicht unter Projekt angeben . Ziel überschreibt das Projekt . Ich habe dies vergessen und die Fehlermeldung 0xE8008016 erhalten.
Tertium

Wenn Ihre App in den Berechtigungen 'iCloud Key-Value Store' verwendet, müssen Sie diesen Schlüssel für die Debug-Version entfernen. Andernfalls wird die App nicht auf Ihrem Gerät ausgeführt und gibt diesen Fehler auch dann weiter, wenn Sie "get-task-allow" auf YES gesetzt haben.
seltsamerweise

50

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 ...: - /


7
Dummer Fehler, den wir anscheinend beide gemacht haben.
Patrick Bassut

5
Ich wünschte ich könnte +2, was für eine lächerliche Fehlermeldung für dieses Problem. Ich hätte stundenlang gesucht, wenn es nicht Ihren Beitrag gegeben hätte.
Wesley Smith

Danke, dass du darauf hingewiesen hast, auch ich habe diesen dummen Fehler gemacht. endlich gelöst.
Gaurav

44

Wenn Sie React-Native verwenden, stellen Sie sicher, dass das Testziel dasselbe Bereitstellungsprofil wie das Hauptziel hat.


3
Vielen Dank, Sie haben meinen Tag gerettet
Julien Athomas

Du hast meinen Speck gerettet
Theo Bendixson

Ich danke dir sehr. Du hast meinen Tag gerettet. :)
Pratik

Ich habe ungefähr eine Stunde damit gekämpft, bis ich Ihren Kommentar gesehen habe, danke !!
ivmos

Ich war innerlich tot, bis ich auf diesen Kommentar stieß.
Hund

29

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.


1
Mir ist dieser Fehler wieder passiert. Ich musste mein neues Gerät zum Entwicklungsbereitstellungsprofil hinzufügen und dann die Liste in Xcode aktualisieren.
Adjwilli

Hatte das gleiche Problem. Was seltsam ist, da diese App zuvor für die Ad-hoc-Bereitstellung aktiviert war und funktioniert.
Raeldor

Ich hatte Probleme mit Berechtigungen im Zusammenhang mit iCloud, da meine App auf iCloud-Dokumente zugegriffen hat. Ich musste die iCloud-Berechtigungen im Abschnitt "Funktionen" aktualisieren.
user3300864

20

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.


Das hat bei mir funktioniert. Aber ich muss wieder das Bereitstellungsprofil auf der Seite mit den Build-Einstellungen auswählen.
Rinku

1
Das hat bei mir funktioniert. Associated Domains wurde für mich umgeschaltet. Ich schaltete es aus und das Problem wurde gelöst.
BigRon

19

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.


Wie oben angegeben, muss der Berechtigungswert auch in den Build-Einstellungen manuell gelöscht werden
petershine

1
Das Löschen der Berechtigungsdatei und das erneute Hinzufügen funktionierte für mich - ich habe auch eine Bereinigung durchgeführt
Jasper

Das war mein Schlüssel hier! Ich habe sowohl die Projekt- als auch die Zielerstellungseinstellungen überprüft. Im Abschnitt Code Signing gibt es eine Einstellung "Code Signing Entitlements" - Ich habe sie erweitert, sowohl die Debug- als auch die Release-Zeile hervorgehoben und die Entf-Taste gedrückt. Dadurch konnte meine App fehlerfrei erstellt werden. Es wird jedoch immer noch nicht debuggt - es wird sofort mit einer Meldung in der Konsole beendet, ich muss es nachschlagen.
Jay Imerman

1
Dies funktionierte auch, wenn versucht wurde, die HealthKit-App "fit" für iOS8 auszuführen. Die Berechtigungsdatei enthielt eine zusätzliche Bezeichnerzeichenfolge. Durch das Entfernen konnte das Projekt ausgeführt werden, nachdem andere in diesem Thread erwähnte Schritte ausgeführt wurden
Alex Stone,

Dies hat mein Problem mit iCloud behoben. Anscheinend gab es einige zusätzliche Einstellungen in der Berechtigungsdatei, die nicht vorhanden sein mussten. Das Löschen von allen und das Wiederherstellen der Registerkarte "Allgemein" hat funktioniert.
AndyDunn

15

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.


Zustimmen - Wenn Sie Ihr Bereitstellungsprofil nicht richtig eingestellt haben, kann dieser Fehler angezeigt werden.
Matt

12

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.


1
Das rockt! Hat auch für mich gearbeitet. Ich denke, es war eine Kombination aus all dem, da die App ursprünglich mit XCode 3 entwickelt und dann auf 4.2 gebracht wurde. Ich habe die Datei Entitlements.plist aus dem Projekt entfernt und den Eintrag für die Codesignaturberechtigungen in den Build-Einstellungen / Code gelöscht Unterzeichnen Sie den Abschnitt Signieren und setzen Sie das Bereitstellungsprofil auf Automatisch. Der letzte hat es geschafft.
Jay Imerman

Dies war auch mein Problem, außer dass automatisch das falsche Bereitstellungsprofil ausgewählt wurde und durch manuelle Auswahl des richtigen das Problem behoben wurde.
Abhi Beckert

1
Das hat es für mich getan. Ich bin nicht sicher, wie einige Bereitstellungsprofile des iOS Developer Team entfernt wurden, aber durch Klicken auf Aktualisieren auf der Seite Bereitstellungsprofile, auf die Sie verweisen, wurde dieser Fehler für mich behoben.
Sean808080

11

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!


10

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.


Welche Version von Xcode verwenden Sie? Wenn es 4.0 ist, gab es Probleme damit. Möglicherweise müssen Sie Xcode neu starten oder sogar Ihren Mac neu starten. Stellen Sie sicher, dass die Bereitstellungseinstellungen sowohl im Projekt als auch im Ziel richtig sind. Die Zieleinstellung hat jedoch Vorrang vor dem Projekt.
W Dyson

Ich denke, es ist ein Problem mit dem Gerät, es ist ein iPhone 4 von Verizon, und mit demselben Bereitstellungsprofil kann ich eine App auf meinem iPad bereitstellen. Hat jemand anderes dieses Problem mit einem iPhone 4 von Verizon gehabt?
Richard J. Ross III

Verwenden Sie ein altes Bereitstellungsprofil? Sie müssen das Verizon iPhone als Gerät im Bereitstellungsportal hinzufügen und dann das Entwicklungsprofil aktualisieren, das neue Profil erneut herunterladen und neu installieren. Wenn dies nicht funktioniert, müssen Sie weitere Informationen bereitstellen.
W Dyson

Ich habe gestern gerade das Bereitstellungsprofil eingerichtet. Wie könnte es alt sein? Apple hat gerade meine Entwickleranfrage ratifiziert, also war es brandneu. Wie auch immer, ich werde sehen, wie es funktioniert, wenn wir dann auf iOS 4.3 aktualisieren.
Richard J. Ross III

Ein "sauberer" hat es für mich getan. -_-
Cœur

5
  1. Öffnen Sie "iOS Provisioning Portal" in Safari.
  2. Tippen Sie in der Seitenleiste auf "Geräte".
  3. Registrieren Sie die UDID Ihres Geräts
  4. Tippen Sie auf "Bereitstellungsprofile".
  5. Bearbeiten Sie Ihr Apps-Profil.
  6. Wählen Sie das Gerät aus, das Sie gerade hinzugefügt haben.
  7. Laden Sie die .mobileprovision-Datei herunter.
  8. Es installieren.
  9. Bauen Sie erneut.

4

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 :)


Ich habe jetzt festgestellt, dass Push-Benachrichtigungen nicht mehr funktionieren. Ich habe die Game Center-Funktionen in Xcode entfernt. Die App läuft jetzt, aber die Push-Benachrichtigungen kommen nicht mehr. Weiß jemand warum?
Bobsacameno

4

Aktivieren Sie für mich die Option "Signieren automatisch verwalten" in Ziel, um das Problem zu lösen!



3

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)


2

Ein Upgrade auf XCode 4 hat das Problem behoben.


1
Scheint kein XCode-Versionsproblem zu sein, da ich den Fehler in XCode 7.3.1 erhalten habe. Musste das Bereitstellungsprofil löschen und dasselbe aus den XCode-Einstellungen erneut herunterladen, um das Problem zu beheben.
Ian Pinto

@ IanPinto Ich stimme zu. Der Hauptgrund, warum dies die akzeptierte Antwort ist, ist, dass dies für mich funktioniert hat . Es sind keine wirklich nützlichen Informationen mehr, und ich habe die meisten anderen Antworten in diesem Beitrag positiv bewertet, da sie alle sehr wertvolle Informationen für Leute enthalten, die sich dies in Zukunft ansehen. Das Gute an Selbstantworten auf SO ist, dass sie nicht automatisch an die Spitze des Stapels
Richard J. Ross III

2

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 auf Xcode iOS Wildcard App ID, klicken Sie auf edit, aktivieren Sie iCloud, indem Sie das Kontrollkästchen aktivieren und schließlich klicken Done. 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.


1
JA! Das war mein Problem und das Aktivieren von iCloud für die All Apps ID hat es geschafft. Vielen Dank
Guy Moreillon

2

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.


Was kann ich tun, wenn ich das Profil der App testen möchte, die in den App Store hochgeladen wurde? Gibt es eine Möglichkeit dazu?
Bobsacameno

2

Das hat bei mir funktioniert ...

  1. Ich habe die EntitlementsDatei aus dem gelöscht target.
  2. Löschte die App von allen meinen Geräten
  3. Cleaned der eingebaute Xcode
  4. * Optional löschen Sie das Bereitstellungsprofil und fügen Sie es erneut hinzu

Hoffe es funktioniert auch für euch :)


Die Berechtigungsdatei vom Ziel gelöscht, funktioniert für mich. Aber nicht, wenn dies der beste Weg ist.
YuAn Shaolin Maculelê Lai

2

Dies hat mein Problem gelöst: Löschen des Pfads im Abschnitt Codesignaturberechtigungen der Build-Einstellungen für Ziele.


Eine Erklärung wie?
Agent Zebra

@AgentZebra Klicken Sie auf die Hauptprojektdatei und wählen Sie Ihre App unter "Ziele"> Build-Einstellungen> Signieren> Codesignatur-Berechtigungen aus. Löschen Sie den dort angezeigten Wert.
Weienw

2

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:

  1. Entfernen / Löschen der Berechtigungsdatei aus Ihrem Xcode-Projekt.

  2. Kehren Sie zur Registerkarte Xcode-Funktionen zurück

  3. Klicken Sie auf die Schaltfläche "Problem beheben", damit Xcode die Berechtigungsdatei erneut hinzufügt.

Hat für mich gearbeitet, hoffe es hilft jemandem.


2

Ist mir auf Xcode 8 passiert, wurde dies teilweise durch die neue Provisioning ProfileBuild-Einstellung verursacht, da in dieser Xcode-Version zwei Einträge für das Bereitstellungsprofil vorhanden sind:

  • Provisionierungs Profil
  • Bereitstellungsprofil (veraltet)

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).


1

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.


1

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.


1

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.


1

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:

Geben Sie hier die Bildbeschreibung ein

Für mich hatte das nichts mit Zertifikat zu tun. Die App wird jetzt erfolgreich auf dem Gerät ausgeführt.


1

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!


1

Überprüfen Sie den KeyChain-Zugriff!

In meinem Fall habe ich das falsche Verteilungszertifikat verwendet, das dem Bereitstellungsprofil zugeordnet ist.


1

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'


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.