Das Ausführen von iOS-Apps verursacht einen Laufzeitfehler für Frameworks "Codesignatur ungültig".

33

Jedes Mal, wenn ich versuche, diese App auszuführen, wird sie in Ordnung erstellt und installiert, aber sobald sie ausgeführt wird, bricht die App ab und druckt diese Fehlermeldung. XCode 11 und iOS 13.

dyld: Library not loaded: @rpath/StandardCyborgFusion.framework/StandardCyborgFusion
  Referenced from: /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/StandardCyborgExample
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion: code signature invalid for '/private/var/containers/Bundle/Application/2292CCF2-800F-4E28-AF10-A1B98081DD0A/StandardCyborgExample.app/Frameworks/StandardCyborgFusion.framework/StandardCyborgFusion'

Ich habe hier und in App Developer-Foren viele ähnliche Beiträge zu diesem Problem gesehen, aber keiner hat eine Erklärung oder eine gültige Lösung. ich habe es versucht

  • Reinigung und Gebäude
  • XCode neu starten
  • Mac neu starten
  • Schlüsselbund vollständig zurücksetzen
  • Überprüfen aller Schlüsselbundzertifikate Die Vertrauenseinstellungen befinden sich unter "Systemstandards verwenden".
  • Werkseitiges Zurücksetzen meines Mac

UPDATE 1: Es scheint ein Problem mit meinem iOS-Gerät zu sein. Die App kann auf einem Simulator gestartet werden, aber der Simulator ist nicht für meine Entwicklungszwecke geeignet, sodass ich diese Funktion auf meinem Gerät ausführen muss. Ich habe kürzlich mein iPhone XR auf iOS 13.3.1 aktualisiert.

UPDATE 2: Es wurde eine andere Gruppe gefunden, die anscheinend dasselbe Problem hat: https://github.com/flutter/flutter/issues/49504 .

Aidan Rosswood
quelle
Woher kommt StandardCyborgFusion.framework? Kontaktieren Sie den Entwickler ...
user3441734
1
Haben Sie versucht, das Framework zu verknüpfen oder einzubetten?
Der Fußgänger
1
Dieser Fehler tritt bei allen Apps auf. Ist nicht rahmenspezifisch.
Aidan Rosswood
Ein Update wurde hinzugefügt. Es scheint gerätespezifisch zu sein, da es auf einem Simulator funktioniert und ein Freund von mir in der Lage ist, dieselben Frameworks auf seinem Gerät zu kompilieren.
Aidan Rosswood
1
Ihr StandardCyborgFusion.framework ist entweder nicht mit Code signiert oder nicht für die arm64-Architektur kompiliert. Sie haben uns immer noch nicht gesagt, wie Sie das Framework erhalten haben. Wenn Sie von jemandem aufgefordert werden, Xcode neu zu starten, um Kompilierungs- / Verknüpfungsprobleme zu beheben, stimmen Sie diese ab.
Claus Jørgensen

Antworten:

25

Ich verwende CocoaPods und behebt für mich den Fehler (Wasa22s Antwort zum Github-Problem):

  1. Öffnen Sie die Poddatei
  2. Kommentiere use_frameworks aus!
  3. Fügen Sie use_modular_headers hinzu!
  4. Führen Sie im Terminal ein Pod-Update durch -> Pod-Installation
  5. Reinigen Sie in Xcode (Befehl-Umschalt-K) -> Erstellen und Ausführen.

Quelle: https://github.com/Alamofire/Alamofire/issues/3051

Paul11100
quelle
Diese Lösung funktioniert tatsächlich!
RapsIn4
Ich hatte keine Zeit zu überprüfen, ob dies funktioniert, da ich gerade ein Entwicklerkonto eines Freundes ausgeliehen habe, aber ich werde dies als korrekt markieren. Ich würde mich freuen, wenn andere bestätigen könnten, dass dies auch für sie funktioniert.
Aidan
Was kann ich in diesem Fall tun, wenn ich keine Poddatei habe?
Abdou31
1
Kommentieren Sie use_frameworks aus und führen Sie den Befehl pod update aus
Lahiru Prasanna
27

Dies ist ein Problem mit iOS 13.3.1. Bei allen dynamischen Frameworks, die auf die neueste Version von iOS 13.3.1 kompiliert werden, tritt dieses Problem auf, wenn sie auf einem persönlichen Bereitstellungsprofil / Entwicklerkonto ausgeführt werden. Die von jmagman aus Github kopierte Lösung ist unten aufgeführt.

Du kannst:

  1. Verwenden Sie ein nicht persönliches Team-Bereitstellungsprofil (kostenpflichtiges Entwicklerkonto).
  2. Führen Sie den 13.3.1-Simulator aus.
  3. Testen Sie auf einem echten iOS-Gerät mit 13.3 oder niedriger.
  4. Installieren Sie das Beta-Profil auf Ihrem Testgerät und installieren Sie iOS 13.4 Beta 3. (Behoben)
  5. Warten Sie, bis iOS 13.4 veröffentlicht wurde.

Hoffentlich wird dieses Problem bald behoben.

Aidan Rosswood
quelle
Ich stufe von iOS 13.3.1 auf 13.3 herunter. Ich kann nicht einfach bleiben und warten, bis Apple dies behebt.
Starsky
Huh ... es scheint, dass ich meine Daten unter iOS 13.3.1 nicht sichern und dann unter iOS 13.3 wiederherstellen kann. Das ist traurig ((Die Wiederherstellung muss unter denselben iOS-Versionen durchgeführt werden. Dies ist also auch keine Lösung ...
Starsky
Ich wünschte, ich hätte diese Antwort früher gefunden. . . Ich habe 3 Stunden lang versucht, meine Build-Einstellungen, Binärdateien und Build-Phasen zu konfigurieren. . . Ein bezahltes Konto zu bekommen hat es schon gelöst
Marcus Kim
Klassischer Apfel, der einen Fehler verursacht, der Sie dazu bringt, etwas zu kaufen.
Darius Buhai
Vielen Dank für die klare und korrekte Antwort +1.
mAc
3

Dies scheint unter iOS 13.4 Beta 3 behoben zu sein. Sie können das Beta-Profil installieren oder auf die Veröffentlichung von iOS 13.4 warten.

Jenn
quelle
1
Am 24. März veröffentlichte Apple iOS 13.4. Dieses Update enthält eine Korrektur für das Problem mit der Codesignatur! Weitere Informationen finden Sie in iOS 13.4 Beta 3.
Rover
2

Ich sehe zwei Möglichkeiten, dies zu beheben.

  1. Downgrade auf iOS 13.3. iOS 13.3.1 unterbricht die Signatur Dritter, es sei denn, Sie haben ein bezahltes Entwicklerkonto. Wenn möglich (besorgen Sie sich ein billiges iPhone für die Entwicklung)

  2. Aktualisieren Sie Mac OS, Xcode und iOS auf die neueste Beta-Version (Aktualisieren Sie nur diese, da für iOS iOS die neueste Xcode-Beta und Xcode die neueste Mac OS Catalina erforderlich ist.)

zhuangr
quelle
0

Wenn Sie mit Xcode arbeiten, wird ein Fehler wie folgt angezeigt:

/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820-A146- 
 A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter: code signature 
invalid for '/private/var/containers/Bundle/Application/D0BD5694-A7D6-4820- 
A146-A49DF0C0F0B1/Runner.app/Frameworks/Flutter.framework/Flutter'

Lösung von jmagman auf Github

jmagman ist zu Apple (FB7562472) eskaliert und wird alle wissen lassen, wenn sie etwas hören. Weitere Details zu Github

parikhparth23
quelle
0

Ich bin auf dieses Problem gestoßen, als ich versucht habe, auf mein tatsächliches iOS-Gerät zu bauen (aber es hat im Simulator einwandfrei funktioniert). Ich habe mindestens 10 Stunden damit verbracht, diesen Fehler zu beheben. Versuchte alles in allen Foren, nichts hat funktioniert. Aber das hat endlich bei mir funktioniert!

  • Upgrade von iOS 13.3.1 auf iOS 13.4.1

Ich hätte mir das nicht vorstellen können, aber es stimmt, dass iOS 13.3.1 die Signatur eines Drittanbieters bricht, es sei denn, Sie haben ein bezahltes Entwicklerkonto!

Tauschen
quelle
Sie müssen nur Ihr iOS-Gerät auf 13.4.x aktualisieren. Nach dem Upgrade kann ich ein Beispielprojekt ohne weitere Anpassungen ausführen.
Corban