Die ausführbare Datei wird mit ungültigen Berechtigungen in Xcode signiert


113

Ich habe diesen Fehler mit Xcode 5 erhalten, als ich versuche, die App auf meinem Gerät auszuführen.

Die ausführbare Datei wurde mit ungültiger Berechtigung signiert

Mit Xcode 4.x hat es gut funktioniert. Weiß jemand, wie man den Fehler beseitigt?

Geben Sie hier die Bildbeschreibung ein


Ich habe Xcode 8.3.3 und diese Antwort hat es tatsächlich für mich getan
Nuno MSB

Antworten:


101

Ich habe mich eine Stunde lang mit diesem Problem auseinandergesetzt und schließlich eine Lösung gefunden. Es stellte sich heraus, dass das Entwicklungsteam in ProjectTarget und ProjectTests unterschiedlich war.


13
Vielen Dank! Das hat mir nur geholfen und viel Zeit gespart!
Marky

Beeindruckend! Danke @Krish
Kqtr

Sie, Sir, haben gerade meinen Donnerstag gerettet, können Ihnen nicht genug danken
Samer Murad

Wo finde ich ProjectTarget und ProjectTests?
Pablo

Ah! fand es! Tage darauf und es war nur dieses Setup! ??
Pablo

77

Das Neustarten von Xcode hat bei mir funktioniert.


15
Also hat Xcode den Microsoft Universal Fix übernommen. ;) Für die Aufzeichnung ist dies immer noch ein Problem und ein Neustart ist immer noch das Update (ich verwende v7.3.1).
Eric Soyke

3
ein weiteres +1, stelle dich diesem Problem erneut, dann google es, ich bin hier gelandet.
Jayellos

Nach stundenlangem Überprüfen jedes einzelnen Details ... funktionierte dies in XCode 8
Matej Ukmar

Hat jemand eine solide Lösung für dieses Problem !!!!, Alle diese Lösungen sehen aus wie einige situative Problemumgehungen. Bitte helfen Sie.
Max

Tatsächlich funktionierte es für mich, das Projektentwicklungsteam und das Projekttestentwicklungsteam gleich zu machen
Tahmid Rahman

35

Ich habe das Problem herausgefunden. Die App, die ich auf developer.apple.com erstellt habe, enthält kein Inter-App-Audio. In der Plist-Datei für Projektberechtigungen auf Xcode ist Inter-App-Audio auf YES gesetzt (standardmäßig). Sobald ich die Einstellung in meiner App-Konfiguration auf developer.apple.com geändert habe, um das Inter-App-Audio zu aktivieren. Dann läuft meine App auf meinen Geräten. Ich denke, das ist die neue Regel von Apple, um Ihre App-Einstellungen sowohl auf developer.apple.com als auch in Ihren xcode-Projekteinstellungen konsistent zu machen.


10
Ich habe die Inter-App-Audio-Funktion auf EIN und dann wieder auf AUS geschaltet, und auf diese Weise hat die App funktioniert ... WT *?
Ferran Maylinch

Wow, unglaublich. Immer noch ein anwendbarer Fix, obwohl es für mich die App Groups-Funktion war.
Keller

Hier gilt das gleiche! Es ist super komisch. Ich denke, Sie können jede Fähigkeit umschalten, um es zu beheben.
Andre Simon

Versuchte alles immer noch mit dem gleichen Problem !, Irgendwelche Vorschläge
Max

24

Ich konnte dies beheben, indem ich die Berechtigung "Game Center" in Xcode 5 ein- und ausschaltete :-)


5
DANKE! Sie haben keine Ahnung, wie frustriert ich den ganzen Morgen war, bis ich über Ihre Antwort stolperte. Auf jeden Fall für mich behoben.
Gasper Kolenc

1
Bitte beachten Sie, dass Xcode ein Bereitstellungsprofil für Sie generiert und Ihr benutzerdefiniertes Bereitstellungsprofil ungültig macht.
Van Du Tran

@ VanDuTran nein, wird es nicht.
Nik

Dies trat in einer Xamarin-Anwendung sowie in Visual Studio für Mac auf. Es ist also nicht nur auf Xcode isoliert.
Dan Beaulieu

19

Keine Lösung hat für mich funktioniert, bis ich das Ziel für App-Tests auf dasselbe Bereitstellungsprofil wie die Haupt-App überprüft und festgelegt habe. Wenn Sie automatisches Singen verwenden, stellen Sie sicher, dass Sie dasselbe Team im Testziel ausgewählt haben.


Sehr guter Punkt, dies passiert, wenn Sie Ihr Team im Hauptziel ändern, aber nicht im Testziel. Das Ändern des Teams im Testziel in das Team im Hauptziel hat das Problem für mich gelöst.
Dan

Vielen Dank!! Das hat es endlich für mich behoben. Ansprüche waren ein total roter Hering.
Reid

19

Für XCode 10 muss möglicherweise das Legacy-Build-System verwendet werden

Änderungen können über die Datei- / Projekteinstellungen vorgenommen werden. FEHLER ITMS-90174: "Fehlendes Bereitstellungsprofil - iOS-Apps müssen ein Bereitstellungsprofil in einer Datei mit dem Namen embedded.mobileprovision enthalten."

Eine Cordova / Ionen-Ankündigung: https://github.com/apache/cordova-ios/issues/407


1
Ich möchte für Cordova / Ionic-Benutzer hinzufügen, dass Sie möglicherweise auch Ihr generiertes Xcode-Projekt ändern müssen, um den Legacy-Modus über "Datei> Projekt- / Arbeitsbereichseinstellungen" zu verwenden und es in das Legacy-Build-System zu ändern, wie hier beschrieben: stackoverflow.com/a / 52605878/2503520
Vyrnach

12

Die Lösung für den neuesten Xcode :

Zuerst müssen Sie überprüfen, was in Ihrem Mitgliedercenter für Ihre spezifische AppID aktiviert ist :

Geben Sie hier die Bildbeschreibung ein

Dann in Ihrem entsprechenden Ziel in Xcode Sie müssen aktiviert die gleichen Fähigkeiten: In diesem Fall: App Group, Game Center, In-App Purchase. Alle müssen in Ihrem Ziel in Xcode aktiviert sein.

Geben Sie hier die Bildbeschreibung ein

Für den DEBUG- Modus spielt es jedoch keine Rolle :

Geben Sie hier die Bildbeschreibung ein

Es ist sehr wichtig für Ihren RELEASE- Modus: Geben Sie hier die Bildbeschreibung ein

Beachten Sie, dass Game Centerund In-App Purchaseim Mitgliedercenter standardmäßig aktiviert sind, im Xcode-Ziel jedoch deaktiviert sind.


3
Ist es möglich, das Game Center und den In-App-Kauf von developer.apple.com zu entfernen?
Noitidart

11

Ich denke, Ihr Problem liegt an dem Profil, dass Sie xCode4.6 verwendet haben und jetzt xCode5 verwenden.

Sie müssen Zertifikate / Bereitstellungsprofile über XCode> Einstellungen> Konten aktualisieren

XCode> Einstellungen> Konten> Klicken Sie auf Ihr DEV-KONTO> Schaltfläche Details anzeigen (unten rechts)> Der Bildschirm Signieren von Iden / PPs wird angezeigt> Klicken Sie auf Aktualisieren.

Wählen Sie dann erneut aus den Build-Einstellungen das richtige Profil und bereinigen und erstellen Sie Ihr Projekt.

Hoffe das hilft dir.


1
Danke für Ihre Hilfe. Ich habe das Problem herausgefunden. Die App, die ich auf developer.apple.com erstellt habe, enthält kein Inter-App-Audio. In der Plist-Datei für Projektberechtigungen auf Xcode ist Inter-App-Audio auf YES gesetzt (standardmäßig). Sobald ich die Einstellung in meiner App-Konfiguration auf developer.apple.com geändert habe, um das Inter-App-Audio zu aktivieren. Dann läuft meine App auf meinen Geräten. Ich denke, das ist die neue Regel von Apple, um Ihre App-Einstellungen sowohl auf developer.apple.com als auch in Ihrer xcode-Projekteinstellung konsistent zu machen.
Emmy

6

Ich musste die Funktionen der App in Xcode5 unter anpassen

Capabilities -> 
In-App purchase -> ON
Game Center -> ON

damit im provisoning Profil.


Außerdem wurde die Fehlerantwort "Ungültiges Token" von APNs behoben.
Hiroshi

Das Hinzufügen der Game Center-Berechtigung und das Entfernen dieser Berechtigung hat auch für mich funktioniert. Keine Ahnung warum.
Rukshan Marapana

5

xcode 6.1 (HealthKit-Beispiel)

Ich habe diesen Fehler aufgrund der HealthKit-Integration erhalten: Ich hatte In-App-Kauf aktiviert, Game Center und Healkit haben mein Problem gelöst. Dasselbe habe ich im Bereitstellungsprofil aktiviert.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


Musste das gleiche für die Schlüsselbundfreigabe tun. Ich hatte auch eine App-Erweiterung, ich musste es an beiden Orten tun, damit es funktioniert.
CaseyB

5

(Xcode 6.1)

Das Problem für mich war in meinen Build-Einstellungen; Beim Bereitstellen auf einem Gerät wurde mein Bereitstellungsprofil auf ein App Store-Produktionsprofil festgelegt. Ich habe es auf "Automatisch" umgestellt und mein Problem behoben. Sie können es auch auf Ihr Dev Provision-Profil einstellen.

Ich habe auch 2 Zertifikate, also habe ich mein zweites Zertifikat zu meiner Entwickler-Bestimmung hinzugefügt. Andere werden dieses Problem wahrscheinlich nicht haben.


Vielen Dank! Das Umschalten auf "Automatisch" hat es für mich
getan

Seltsam, dass der Wechsel zu automatisch behoben wurde, aber es hat bei mir funktioniert. Ich hatte mein Bereitstellungsprofil auf com.mycompany. * Gesetzt und bekam diesen Fehler. Es gab rote FixMe auf der Registerkarte "Funktionen", aber nachdem ich dieses Problem behoben hatte, erhielt ich immer noch den Fehler "Ungültige Berechtigungen". Ich habe dann versucht, mein Bereitstellungsprofil von com.mycompany. * Auf automatisch zu ändern, und das Problem wurde behoben. Ich habe zweimal überprüft, ob die bundleID com.mycompany.blabla ist, also scheint es sich um eine Art Xcode-Fehler zu handeln. Ich benutze Xcode 6.3.2.
Jim Range

5

Ich hatte ein ähnliches Problem, als ich auf Xcode 10 aktualisiert habe. Ich habe das Problem unter Datei> Projekteinstellung behoben. Wählen Sie in der Option "Neues Build-System" die Option "Legacy-Build-System". Das hat den Trick für mich gemacht, ich hoffe das hilft jemandem.


4

Einfaches Clean-and-Build schien es für mich zu beheben.


Dies war auch für mich eine Lösung.
Enijar

4

Wenn dieses Problem mit mir gleich ist. Vielleicht vergessen Sie, das Team in Ihrem Zielprojekt in unittest zu setzen. Versuchen Sie, dieses Bild zu machen

Geben Sie hier die Bildbeschreibung ein


3

Ich löse dieses Problem, indem ich alle "PROVISIONING_PROFILE=..."und "PROVISIONING_PROFILE[sdk=iphoneos*]" = ...in project.pbxproj lösche und Xcode neu starte und erneut Bereitstellungsprofile für das Ziel festlege.


3

Wenn der Neustart von xcode nicht funktioniert, erstellen Sie ein neues Bereitstellungsprofil und schließen Sie Ihre Testgeräte ein.


Neustart / Reinigung funktionierte bei mir nicht, aber dann wurde mir klar, dass ich mein neues Testtelefon nicht zu dem Ad-hoc-Profil hinzugefügt hatte, mit dem ich erstellt hatte. Ich habe ein aktualisiertes Profil neu generiert / heruntergeladen und der Fehler ist verschwunden. Hinweis: Möglicherweise wird danach ein "Sicherheitsfehler" angezeigt. Dies bedeutet, dass Sie die App für das Gerät autorisieren müssen. Tippen Sie einfach auf die App auf dem Gerät, damit die Warnung "Vertrauensentwickler" aktiviert wird.
SafeFastExpressive

3

In meinem Fall wurde das Gerät nicht hinzugefügt. Also musste ich das Gerät hinzufügen und ein neues Bereitstellungsprofil erstellen.


3

Eine andere Sache zu überprüfen - stellen Sie sicher, dass Sie die richtigen Entitäten in beiden ausgewählt haben

Ziele -> Ihr Ziel -> Build-Einstellungen -> Signieren

und

Projekt -> Ihr Projekt -> Build-Einstellungen -> Codesignatur

Ich habe diese Nachricht erhalten, als ich in einem einen vollständigen Entwicklerprofil und in dem anderen eine andere (Nicht-Entwickler-) Apple-ID ausgewählt hatte, auch wenn in der App keine Berechtigungen angefordert wurden.


2

Es scheint ein kleiner Fehler in Xcode zu sein. Versuchen Sie es trotzdem zu archivieren , auch wenn es ein Problem mit gibtentitlements . Wenn Ihre Berechtigungen in Ordnung sind, werden sie problemlos hochgeladen. Apple akzeptiert dies und Ihre App wird im AppStore veröffentlicht.

Ich habe es getan und es hat funktioniert :)



1

Ich hatte das gleiche Problem in XCode 5. Das hat mir trotzdem geholfen.

XCode > Preferences > Location tab > DerivedData

Drücken Sie einen kleinen Pfeil nach links, um DerivedData im Finder zu öffnen. Wechseln Sie in den Papierkorb Ihres Projekts und erstellen Sie es neu.

Bildschirmfoto


Ich denke, es sollte gute Gründe dafür geben, warum das Löschen abgeleiteter Daten das Problem lösen wird.
Kavita

1

Hatte ein Problem. Lösung: Gehen Sie zum richtigen Ziel -> Funktionen -> Für mich gab es ein Problem mit "In-App-Kauf" und der Schaltfläche, um es zu beheben. Off-On-Betrieb behobenes Problem.


1

In meinem Fall: Ich muss Inter-App Audio in aktivieren

Capabilities -> Inter-App Audio

Ich denke, da ich Parse.com Notification verwende, muss ein Link zu AudioToolbox.framework vorhanden sein


1

Aktivieren von Funktionen -> Inter-App-Audio hat dieses Problem auch für mich behoben. Ich versuche auch, Push-Benachrichtigungen per Analyse zu senden


1

Die Antworten hier scheinen etwas unangemessen zu sein, also addiere ich meine zwei Cent:

Die eigentliche Lösung besteht darin, dass im Allgemeinen eine Nichtübereinstimmung zwischen den in Ihrem Bereitstellungsprofil gespeicherten Daten besteht (überprüfen Sie unter developer.apple.com -> Mitglieder -> Zertifikate -> das von Ihnen verwendete Zertifikat [überprüfen Sie unbedingt, ob Entwickler / Produktion vorhanden sind). und was in Ihrer App aktiviert ist (doppelklicken Sie auf den Projektnamen), wählen Sie im horizontalen Menü "Funktionen" (neben "Allgemein").

Wenn Sie kürzlich eines dieser Zertifikate geändert haben, aktualisieren Sie Ihre Zertifikate unter XCode -> Einstellungen -> Konten -> Details -> Symbol aktualisieren und starten Sie XCode neu.


1

In meinem Fall ist das APNS-Zertifikat abgelaufen. Entfernen Sie das abgelaufene Zertifikat und generieren Sie das Bereitstellungsprofil neu. Das Problem wird behoben.


1

In meinem Fall musste ich die Apple Developer License Agreement akzeptieren.

Melden Sie sich bei einem Apple-Entwicklerkonto an und beachten Sie die unten stehende Benachrichtigung.

"Die Lizenzvereinbarung für das Apple Developer Program wurde aktualisiert. Um auf bestimmte Mitgliedschaftsressourcen zugreifen zu können, muss **** die neueste Lizenzvereinbarung bis zum 28. Juni 2016 akzeptieren."

Früher war ich nicht in der Lage, iCloud-Container zur App-ID hinzuzufügen / zu bearbeiten, obwohl ich Funktionen, Bereitstellungsprofile, Zertifikate usw. geändert / überprüft habe. Nach Vereinbarung des Vertrags funktionierten die Dinge reibungslos.

Hoffentlich würde es jemandem wertvolle Zeit sparen.


1

Ich bin vor kurzem auf genau das gleiche Problem gestoßen. Nachdem ich viele verschiedene Ratschläge gelesen hatte, von denen keiner für mich funktionierte, ging ich schließlich unter die Haube und fand die Grundursache des Problems.

Die mobile Bereitstellungsdatei stimmt NICHT mit der von Xcode generierten Berechtigungsdatei überein.

Obwohl alle Dateien automatisch vom Apple Tool verwaltet werden, sind sie nicht korrekt.

Wenn Sie die Bereitstellungsdatei vom Apple-Portal herunterladen und öffnen (Sie können sie öffnen, da es sich nur um eine von Ihrem Zertifikat signierte Plist-Datei handelt, die vom Texteditor gelesen werden kann) und mit Ihrer Berechtigungsdatei vergleichen (automatisch von Xcode generiert und in Projektdateien gespeichert) (Also ist es wieder eine XML-Datei, die vom Texteditor gelesen werden kann.) Dann können Sie den Unterschied sehen.

In meinem Fall war es eine Game Center-Berechtigung. Es wurde im Portal als aktiviert angezeigt (standardmäßig aktiviert), aber tatsächlich war diese Berechtigung nicht in der Mobile Provisioning-Datei enthalten. Es ging also darum, es aus der Berechtigungsdatei zu löschen.

Das Ergebnis ist also, dass der Inhalt des Mobile Provisioning-Profils manchmal nicht mit dem übereinstimmt, was auf der Konfigurationsseite der APP-ID angezeigt wird.


1

Für diejenigen, die das gleiche Problem mit Provisioning Profile Automatic haben in den Build-Einstellungen des Ziels haben:

Seien Sie sehr vorsichtig, wenn Sie Ihre Zielberechtigungsdatei bearbeiten! Dies kann die Korrespondenz mit dem automatisch generierten Bereitstellungsprofil unterbrechen, und Sie erhalten diesen Fehler.

In meinem Fall musste ich vorübergehend die iCloud-Produktionscontainer mit Debug-Builds verwenden. Dazu habe ich eingefügt

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>  

in der Berechtigungsdatei und das hat funktioniert!
Um mich daran zu erinnern, dass ich diese Zeilen später entfernen musste, habe ich einfach den folgenden Kommentar eingefügt:

<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>  

Und dies unterbrach die Korrespondenz und verursachte den Fehler .


Wo befindet sich die Berechtigungsdatei?
Noitidart

Es befindet sich in Ihrem Projektordner und heißt "yourProject.entitlements". Sie finden es im Projektnavigator von Xcode.
Reinhard Männer

Vielen Dank. es scheint, dass es nicht erstellt wurde, bis ich "Inter-App-Audio" aktiviert und dann deaktiviert habe. Ich habe Game Center und in App-Käufen auf developer.apple.com, aber ich benutze es nicht, dies sind Standardeinstellungen. Also habe ich meine Fähigkeiten in xcode als "on" markiert, aber egal, was ich immer wieder bekomme: "Die ausführbare Datei wurde mit ungültigen Berechtigungen signiert." Error. :(
Noitidart

1

Ich verwende die Push-Benachrichtigung in meiner App und nach Abschluss der Entwicklung habe ich versucht, die Push-Benachrichtigung für die Release-Konfiguration zu testen . Zu dieser Zeit bekam ich diesen Fehler.

Ich habe Production Provisioning Profile verwendet, um es für die Veröffentlichung auszuführen . So konnte ich diesen Fehler mithilfe des Adhoc- Bereitstellungsprofils beheben.

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.