webentwicklung-frage-antwort-db.com.de

Unerwarteter Mach-O-Headercode: 1918975009 in xCode 6 gefunden

Was verursacht den Fehler? 

Found an unexpected Mach-O header code: 1918975009 in xCode 6

Ich habe mein Projekt zum Versenden als ad hoc build archiviert und es erstellt/links/archiviert, aber wenn ich im xCode-Organisator bin und Export -> Ad Hoc auswähle,

Ich bekomme den Fehler 

Found an unexpected Mach-O header code: 191897500. 
28
rtvanals

Ich hatte den gleichen Fehler. In meinem Fall wurde es durch ein universelles Framework verursacht, das ich versehentlich in die Ressourcen der App kopiert habe (was unnötig ist, da Frameworks direkt in die ausführbare Datei von iOS AFAIK integriert werden).

Wählen Sie also Ihr Ziel aus, klicken Sie auf die Registerkarte "Erstellungsphasen" und sehen Sie in der Liste "Ressourcenpakete kopieren" nach, ob Sie eine Bibliothek oder ein Framework kopieren, das Desktop-Architekturen enthält (i386 oder x86_64).

Das Kopieren einer solchen Datei ist höchstwahrscheinlich falsch, aber wenn Sie dies tun müssen, kann sie offenbar nur iOS-kompatible Architekturen enthalten.

32
mkeiser

In meinem Fall trat dieses Problem auf ("unerwarteter mach-o-Headercode 0x72613c21 gefunden"), nachdem Crashlytics, Fabric installiert wurde. 

Irgendwie schienen Pads zu einem eingebetteten Binärcode zu werden. Also musste ich es wieder entfernen, pod install und das Problem verschwand.

 Remove pods from embedded binaries

35
Naloiko Eugene

Hatte einen ähnlichen Fehler 1918975009 mit dem neuen Swift-Build-System in Xcode 9.3 (unter Workspace-Einstellungen ...) auf einem Framework von Drittanbietern, das manuell hinzugefügt wurde (ohne Cocoapods). Vielleicht im Zusammenhang mit dem obigen Thread, falls es irgendjemandem hilft ... Dies erschien erst nach dem Upgrade auf Xcode 9.3, nachdem es gestern offiziell freigegeben wurde. Xcode 9.2 und frühere Versionen des neuen Build-Systems haben keine Warnung ausgegeben.

:-1: <path>/Frameworks/<frameworkName>.framework/<frameworkName>: Failed to parse executable: Unknown header: 1918975009

Das Umschalten auf das alte Buildsystem, das nicht auf Swift basiert, behebt das Problem. Keine optimale Lösung, aber wenn Sie eine ähnliche Warnung sehen, können Sie vorerst weitermachen.

10
Mark Thormann

Ich habe den gleichen Fehler festgestellt und konnte ihn nicht auf die Bibliothek/das Framework in den Ressourcen des Kopierpakets oder eine falsche Version einer Bibliothek zurückverfolgen.

Als Problemumgehung habe ich festgestellt, dass ich einen Export-Build von der Befehlszeile aus ausführen kann, und es scheint zu funktionieren:

xcodebuild -exportArchive -exportFormat ipa \
-archivePath /path/to/app.xcarchive/ \
-exportPath /path/to/app.ipa \
-exportProvisioningProfile "Name of provisioning profile"

"Name des Bereitstellungsprofils" ist hier der Name des Bereitstellungsprofils, wie er in Xcode angezeigt wird (nicht der Pfad zum Profil).

3
damneddemand

Gehen Sie zu BUILD PHASES -> COPY BUNDLE RESOURCES, dort finden Sie einige Rahmenbedingungen. Entfernen Sie diesen Abschnitt und fügen Sie ihn LINK BINARY WITH LIBRARIES ..__ hinzu.

2

manchmal sollten Sie Build Phases - Embed Pods Frameworks suchen. und finden Sie die Shell-Datei. z.B.

Baue Phasen

Öffnen Sie Pods-midea-common-adddevice_Example-frameworks.sh Prüfen Sie, ob diese Datei ein Problem ist.

1
邓立兵

gelöstes Problem in meinem Fall

Phasen erstellen -> Kopiere Ressourcen für ein Framework oder eine andere Binärdatei, die nicht vorhanden ist

ich lösche TwitterKit und DigitKit binär.

Bearbeiten: Wenn ich diese Binärdatei aus Copy Bundle-Ressourcen lösche, kann das Projekt erstellt, archiviert, zur Validierung übergeben und auch an den App Store gesendet werden. Aber wenn ich das Projekt starte, schlägt das fehl. Wenn ich also von Copy Bundle Resources lösche und dann zu den Abschnitten Link Binary With Library hinzufüge (wir wählen "Add other") und dann die Tastenkombination cmd + shift + g drücken, um dorthin zu gelangen, wo Ihr Bundle oder Ihre Binärdatei liegt, ist es gelöst.

0
Emre Gürses

Stellen Sie sicher, dass Sie im Abschnitt "Eingebettete Binärdateien" auf der Registerkarte "Allgemein" des Ziels kein statisches Framework einbetten. 

AFAIK Sie können überprüfen, ob das Framework statisch ist, wenn das binäre Symbol in .framework weiß ist, wenn das Symbol schwarz ist. 

0
rockdaswift

Ich bin auch auf dieses Problem gestoßen und konnte es lösen ...

In meinem Fall hatte ich ein neues Ziel erstellt, indem ich ein vorhandenes Ziel duplizierte. Ich hatte den Namen von "MyApp-dev-Kopie" in "MyApp-Test" geändert. Allerdings habe ich eines vergessen ... Wenn Sie ein neues Ziel erstellen, wird auch eine neue .plist-Datei erstellt. Ich habe vergessen, diese Datei umzubenennen und sie dann mit meinem neu erstellten Ziel zu verknüpfen.

Nachdem ich das getan hatte, ging das Problem weg. Ich hatte ursprünglich über Ziele unter: http://www.raywenderlich.com/68613/create-paid-lite-version-iphone-app/ gelesen und diese Seite wieder aufzurufen, half mir bei der Lösung des Problems.

0
Perlguy

Wenn Sie Ihrem Projekt Fabric oder Crashlytics hinzufügen möchten, müssen Sie beim Ziehen oder Hinzufügen von Frameworks in den Projektordner oder in Xcode das Kontrollkästchen "Elemente bei Bedarf kopieren" nicht markieren . enter image description here

0
anasaman_p