it-swarm.com.de

Xcode 10: Ein gültiges Bereitstellungsprofil für diese ausführbare Datei wurde nicht gefunden

Seit gestern wird beim Ausführen einer App auf meinem Gerät die folgende Fehlermeldung angezeigt: "Es wurde kein gültiges Bereitstellungsprofil für diese ausführbare Datei gefunden." Dies ist nach dem Update auf Xcode 10 der Fall. Das Bauen mit Xcode 9 hat letzte Woche problemlos funktioniert.

Ich habe die anderen Diskussionen über den Fehler überprüft, aber keine der Lösungen funktioniert.

Das Problem ist nicht auf ein einzelnes Projekt beschränkt, an dem ich gearbeitet habe, da es mehrere von verschiedenen Signierteams betrifft.

Bisher habe ich Folgendes versucht:

  • Reinigungsprojekt

  • Abgeleitete Daten werden bereinigt

  • Deinstallation von Xcode, Löschen von Einstellungen und zugehörigen Dateien.

  • Installieren von Xcode auf einem völlig anderen Mac

  • Testen mit verschiedenen Geräten

  • Deaktivieren Sie das Gerät im Entwicklerprofil und lassen Sie Xcode es wieder aktivieren.

  • Alle Zertifikate im Entwicklerportal löschen und neu erstellen

  • Deaktivieren und erneutes Aktivieren von "Signatur automatisch verwalten"

  • Verwerfen des Bereitstellungsprofils und erneutes Erstellen durch Xcode

  • Erstellen eines manuellen Bereitstellungsprofils im Entwicklerprofil

Das Projekt enthält keine Tests, daher kann es kein Problem mit falschen Signatureinstellungen auf diesem Ziel geben. Datum/Uhrzeit ist auf Automatisch eingestellt

Beachten Sie, dass hier keine Bereitstellungsprofile aufgeführt sind, mit Ausnahme des von mir erstellten Handbuchs: https://developer.Apple.com/account/ios/profile/

Ich würde erwarten, dass der von xcode generierte angezeigt wird, so wie er es für alle anderen Clients tut.

Unten sind die Signatureinstellungen aufgeführt, die ich derzeit verwende

provisioning profile settings

Ich habe noch nicht versucht, Xcode auf eine ältere Version zu aktualisieren, um zu sehen, ob das funktioniert. Ansonsten habe ich keine Ahnung, was ich als nächstes versuchen soll.

173

Ich hatte heute damit zu kämpfen, es war super frustrierend. Gehen Sie zunächst zu "File"> "Project Settings..." (oder in einigen Fällen "Workspace Settings...") und wählen Sie dann "Legacy Build System" aus der Dropdown-Liste "Build System" aus.

415
Stephen

@Stephen tks das für mich gelöst. Ich muss nur gehen -> Datei -> WorspaceSettings -> Build-Einstellungen (ändern Sie hier zu "Legacy Build System") enter image description here

enter image description here

82

Ich hatte das gleiche Problem und suchte stundenlang nach einer Antwort, entfernte Profile, bereinigte Projekte und so weiter.

Hast du deine App verteilt? Sie müssen zu Ihrem Entwicklerprofil zurückkehren, jedoch nicht in Allgemein unter den Projekteinstellungen, sondern in Buildeinstellungen .

Sehen Sie sich unter Signing Ihre Code Signing Identity an.

Stellen Sie sicher, dass sowohl Debug als auch Release auf Ihren iOS-Entwickler und nicht auf iOS-Distribution eingestellt sind. oder Ihr iOS Developer Provisioning-Profil, wenn nicht die automatischen Werte festgelegt sind.

Gleiches gilt für das Bereitstellungsprofil. Es sollte Ihr sich entwickelndes Profil und nicht Ihr Verteilungsprofil sein. enter image description here

Hoffe, dies wird zukünftigen Entwicklern in Not helfen.

30

Ich habe alle oben genannten Lösungen ausprobiert.

In meinem Fall war es jedoch nach stundenlangen Kopfschmerzen wegen Testprojekt kein gültiges Konto für die Bereitstellung der Signatur. Nachdem ich ein Team für die Bereitstellung im Testprojekt mit automatischer verwalteter Signatur ausgewählt habe. Dieses Problem ging weg.

28
Chen

Verwenden Sie einen sauberen Build-Ordner (Befehl + Umschalt + K) und erstellen Sie die App neu, um dieses Problem in Kürze zu beheben. Die Erstellungszeit nimmt jedoch zu, da Sie den Erstellungsordner bereinigt haben.

19
Jerome Li

Für unser Team hat nichts geholfen. Wir haben ein paar Tage verbracht und jeden Schritt ausprobiert, der oben in den Antworten und Kommentaren erwähnt wurde. Wir haben mit XCode 10 und sogar XCode 9.2 eine App ausprobiert, die es seit vielen Jahren im App Store gibt.

Das Problem begann nach dem Upgrade auf MacOS Mojave. Leider hat die Rückkehr zu HighSierra damals nicht geholfen.

Zumindest konnten wir wieder in den App Store liefern, nachdem wir ein neues Zertifikat- und Bereitstellungsprofil erstellt haben. Wir können unsere App aber immer noch nicht mehr im Release-Modus auf einem realen Gerät testen, was zum Testen von InApp-Käufen erforderlich ist.

Kurzum: Archivierung und Einreichung funktioniert gut, läuft auf echtem Gerät nicht!

Mehrere Entwickler, mehrere Geräte, Macbooks, XCode-Versionen ....

Am Ende mussten wir ändern Sie die AppID, um erneut auf einem realen Gerät testen zu können.

Daher führen wir jetzt zwei verschiedene Projekte durch: eines für den Versand an TestFlight/AppStore mit der tatsächlichen AppID und eines für Entwicklungszwecke mit einer anderen AppID.

Dies geschieht zwar nur in EINER bestimmten App unseres Unternehmens und nicht in allen anderen, aber wir gehen davon aus, dass in Zukunft ähnliche Probleme auftreten werden, da die Entwicklungstools von Apple immer schlimmer werden ...

4
delete

Das wird also nicht bei allen so sein, aber ich dachte, ich würde es trotzdem hier posten, da es keine Antworten zu geben scheint.

In meinem Fall arbeitete ich an einer App, die in ReactNative entwickelt wurde. Mein Problem war, dass auf dem Testziel keine Signatur angewendet wurde, obwohl meine Signatur auf dem Hauptziel der App korrekt war.
Aus irgendeinem Grund erfordert React Native, dass sowohl Ihr App-Ziel als auch Ihr Testziel signiert sind, um die App auf einem Gerät zu installieren.
Es spezifiziert dies in der offiziellen Dokumentation zu Gebäude für Gerät . Es ist jedoch die einzige Instanz, die ich jemals gesehen habe, in der das Testziel neben der App für andere Zwecke als zum Testen erstellt wurde.

Um Ihr Testziel zu signieren, rufen Sie Ihre Projekteinstellungen auf, indem Sie den Projektnavigator öffnen (⌘1) und oben Ihr Projekt auswählen.

Wählen Sie im Haupteditor unter Ziele Ihr Haupt-App-Ziel aus (sollte denselben Namen wie Ihr Projekt haben) und stellen Sie sicher, dass die Signatur korrekt ist. Wählen Sie dann das Testziel aus (wahrscheinlich direkt unter Ihrem Haupt-App-Ziel sollte es denselben Namen wie Tests haben angehängt) und vergewissern Sie sich, dass es auf die gleiche Weise signiert ist.

Erstellen Sie Ihre App neu und sie sollte nun erfolgreich installiert werden.

Das Verdienst geht an Leo Lei, seine Antwort hier hat mir viel Kopfzerbrechen erspart: https://stackoverflow.com/a/48657358/732844

Wenn außerdem jemand weiß, warum eine native Reaktion erfordert, dass Ihr Testziel neben Ihrem App-Ziel erstellt wird, kann er es mir mitteilen? Der einzige Grund, den ich mir vorstellen kann, ist, die Benutzeroberfläche zu rationalisieren, um darauf zu reagieren, dass eine einzige App erstellt werden kann und sowohl ausgeführt als auch getestet werden kann, ohne dass eine Neuerstellung erforderlich ist.

2
Stewart Thomson

Haben Sie vielleicht Ihr Entwicklungsgerät gewechselt? Das ist mir passiert, als ich ein neues iPhone gekauft habe und es mit meinem vorherigen Gerät gleich benannt habe. Ein sauberer Build behebt jedoch das Problem.

In meinem Fall behebe ich die folgenden Schritte, um die Probleme zu beheben:

  1. Gehen Sie zu diesem Ordner: ~/Library/MobileDevice/Provisioning Profiles/
  2. Entfernen Sie das gesamte Bereitstellungsprofil
  3. In Xcode 10 Menü> Produkt> Build-Ordner bereinigen
  4. In Xcode 10 Menü> Xcode> Einstellungen> Konto> Manuelle Profile herunterladen
  5. In Xcode 10 Menü> Produkt> Erstellen/Archivieren

Der Grund für die oben beschriebenen Schritte besteht darin, die alten Bereitstellungsprofile zu entfernen, die den Erstellungsprozess durcheinander gebracht haben.

1
Raptor

Ich hatte mit dem gleichen Problem zu kämpfen und die Lösung in meinem Fall bestand darin, mich bei den Entwicklerkonten anzumelden. Nach dem Update auf Xcode 10 wurden alle Accounts abgemeldet.

Verwenden Sie das Menü "Xcode -> Einstellungen ... -> Konten" und stellen Sie sicher, dass alle von Ihnen verwendeten Konten angemeldet sind, damit auf die Bereitstellungsprofile zugegriffen werden kann.

1
Alex Alexiev

Auf dasselbe Problem gestoßen, hatten wir mehrere Konfigurationen im Xcode-Projekt, sagen wir Debug-Staging, Debug-Production. Wir haben diese dann vereinheitlicht und nur eine Konfiguration Debug verwendet. Da die alte (nicht mehr vorhandene) Version in der Ausführungsphase feststeckte, wurde Ihnen diese Meldung von Xcode angezeigt, sobald Sie versucht haben, sie auszuführen. Dies ist sinnvoll, da Bereitstellungsprofile in den Build-Einstellungen basierend auf der Konfiguration eingerichtet werden.

So sah das Ausführungsschema aus:

Incorrect target scheme

Während Projektkonfigurationen wie folgt eingerichtet wurden.

Project configurations

Das Ändern des Schemas zur Verwendung der Konfiguration, die noch im Projekt verfügbar ist, hat dieses Problem für mich behoben.

0
libec

Nachdem ich den größten Teil der Lösung satt hatte, fand ich heraus, warum sie für mich ohne Probleme funktioniert. Gehe zu developer.Apple.com, dann account, dann Certificates, identifiers & profiles und klicke unter All auf Devices und füge dann einen hinzu neues Gerät.

dann müssen Sie den Gerätenamen und die UUID festlegen und diese nach dem Speichern speichern. Gehe zu xcode und bereinige den Cache, erstelle ihn und alles funktioniert einwandfrei.

Hinweis 1: Vergewissern Sie sich, dass Ihr Team die Wahrheit sagt.

Hinweis 2: Sie können die UUID erhalten, indem Sie das Gerät mit Ihrem Mac verbinden, auf iTunes klicken und auf das Sicherheitsetikett drücken. Die UUID wird angezeigt.

Welche Diese Antwort ist auch hilfreich.

Ich hatte dieses Problem in Xcode 10.3, nachdem ich zu meinem XCTest-Unit-Testziel und dann zurück zum Projektlaufzeitziel gewechselt war.

Es stellte sich heraus, dass in meinem Bereitstellungsprofil für jedes Ziel ein anderes Team ausgewählt wurde.

Etwas reparieren :

  • Bereinigen Sie den Build-Ordner
  • Stellen Sie sicher, dass alle möglichen Ziele dasselbe Team verwenden. Siehe Profilsignatur auf der Registerkarte "Allgemein".
  • Wenn Sie nicht dasselbe Team für alle Ziele verwenden, reinigen Sie es, bevor Sie zu einem Build-Ziel mit wechseln

    anderes Team ausgewählt.

0
David Mayes

Stell sicher, dass du:

1) Haben Sie ein registriertes Bereitstellungsprofil für Ihr Gerät.

2) Das Gerät muss zum Entwicklungsprofil hinzugefügt und aktualisiert werden.

Wenn Sie immer noch auf Probleme stoßen, überprüfen Sie die Build-Einstellungen Ihres Ziels.

Stell sicher, dass du:

1) CODE_SIGNING_REQUIRED in User-Defined ist auf YES eingestellt.

enter image description here

2) Überprüfen Sie, ob die Signing -Optionen korrekt sind. Wenn das Problem weiterhin besteht, wechseln Sie statt automatisch zu den manuellen Einstellungen.

0
Andrei Calazans

Selbst wenn das Verteilungszertifikat und das Bereitstellungsprofil für Xcode verfügbar waren, schlug die Auswahl von Automatische Signaturverwaltung während des Verteilungsprozesses fehl. Ich habe folgendes gemacht. Wie bereits erwähnt, habe ich ein neues Verteilungszertifikat und ein neues Bereitstellungsprofil erstellt und dann während des Verteilungsprozesses das Zertifikat und das Bereitstellungsprofil sowie Voilaaaa manuell ausgewählt. Stellen Sie außerdem sicher, dass ich auf der neuesten Version 10.1 bin.

0

Ich habe ein xcodej-Projekt geöffnet ... Ich habe es mit einer Arbeitsbereichsdatei versucht und es funktioniert nicht.

Zumindest hat das eines meiner Probleme gelöst, haha

0
Matias Seguel

Ich hatte alle oben genannten Schritte befolgt, aber es ist nicht die Arbeit von mir schließlich. Ich habe ein doppeltes Ziel erstellt und es funktioniert einwandfrei. Ich habe keine Ahnung, was falsch ist, vielleicht ein Problem mit dem Cache-Speicher

enter image description here

0
Arjun Patel

Es scheint, dass Apple diesen Fehler in Xcode 10.2 Beta 2 behoben hat.

https://developer.Apple.com/documentation/xcode_release_notes/xcode_10_2_beta_2_release_notes

Behobene Probleme beim Signieren und Verteilen

Wenn Sie ein Archiv einer macOS-App erstellen und ein Developer ID-Signaturzertifikat verwenden, enthält Xcode einen sicheren Zeitstempel in der Signatur des Archivs. Aus diesem Grund können Sie jetzt mit xcrun altool eine archivierte App an den Notarservice von Apple senden, ohne sie zuvor mit einem Zeitstempel neu signieren zu müssen. (44952627)

Wenn Sie ein Archiv einer macOS-App erstellen, fügt Xcode die Berechtigung com.Apple.security.get-task-allow nicht mehr in die Signatur der App ein. Aus diesem Grund können Sie jetzt mit xcrun altool eine archivierte App an den Notarservice von Apple senden, ohne diese Berechtigung vorher entfernen zu müssen. (44952574)

Es wurde ein Problem behoben, das dazu führte, dass der Verteilungsworkflow ungenaue oder fehlende Informationen zu dem Signaturzertifikat, dem Bereitstellungsprofil und den Berechtigungen meldete, die beim Exportieren oder Hochladen einer App verwendet wurden. (45761196)

Es wurde ein Problem behoben, bei dem verdünnte .ipa-Dateien beim Exportieren aus dem Organizer nicht signiert wurden. (45761101)

Xcode 10.2 Beta 2 kann hier heruntergeladen werden: https://developer.Apple.com/download/

0
Artem Shevtsov

In meinem Fall, wo nichts anderes geholfen hat, habe ich Folgendes getan:

  1. ändern Sie die AppID in eine neue
  2. XCode hat automatisch neue Bereitstellungsprofile generiert
  3. starte die app auf echtem gerät -> jetzt hat es geklappt
  4. ändern Sie die AppID auf die ursprüngliche ID zurück
  5. funktioniert

Vorher habe ich jeden Schritt ausprobiert, der hier erwähnt wurde. Aber nur das hat geholfen.

0
itinance

oder ändern Sie auch die Einstellungen für den Arbeitsbereich pro Benutzer zusammen mit den Einstellungen für den freigegebenen Arbeitsbereich in ein neues Build-System wie folgt

0
Neeraj Soni

Ich habe alle Antworten oben ausprobiert und hatte kein Glück. Danach starte ich mein iPhone neu und das Problem scheint verschwunden zu sein. Ich weiß, es ist so dumm, aber es hat funktioniert. Die obigen Antworten lösen höchstwahrscheinlich das Problem, aber wenn nicht, starten Sie Ihr iOS-Gerät neu.

0
emin deniz

Sie müssen nur Ihr Team ändern. In meinem Fall hat das funktioniert

0
SwiftNewling