Wenn ich versuche, meine App mit Xcode zu erstellen, unterbricht ein Fehler den Erstellungsprozess:
Befehl
CompileStoryboard
mit einem Exit-Code ungleich Null fehlgeschlagen
Manchmal wird stattdessen dieser Fehler angezeigt:
Befehl
CompileSwift
mit einem Exit-Code ungleich Null fehlgeschlagen
Ich habe New Build System aktiviert.
Was kann ich tun, um dies zu beheben?
Antworten:
Das Schließen von Xcode hatte für mich keine Auswirkung. Stattdessen habe ich das Projekt mit bereinigt CommandShiftK.
Ich fand auch einen anderen Grund: Ich hatte einen Storyboard-Verweis auf ein anderes Storyboard, das ich entfernt hatte. Die schnelle Lösung löschte dies.
quelle
Wenn Sie die Erstellung eines Projekts beenden, während sich der Compiler mitten in etwas "Wichtigem" befindet, kann dieser Fehler auftreten. In diesem Fall verschwindet dieser Fehler , wenn Sie das Projekt erneut erstellen und normal beenden.
quelle
info.plist
Datei zu lokalisieren .Dies ist ein bekanntes Problem mit Swift 4.2 und Xcode 10. Ich habe hier einen Artikel gefunden, der es für mich behoben hat: https://github.com/Yummypets/YPImagePicker/issues/236
Kurz gesagt, gehen Sie zu den Build-Einstellungen Ihres Projekts, fügen Sie eine benutzerdefinierte Einstellung mit dem Namen SWIFT_ENABLE_BATCH_MODE hinzu und setzen Sie den Wert auf NO.
Zuvor habe ich jede der hier vorgeschlagenen Methoden ausprobiert (neu erstellen, Xcode beenden, bereinigen und neu erstellen, abgeleitete Datendateien löschen). Keiner von ihnen hat funktioniert.
Nachdem ich die benutzerdefinierte Build-Einstellung gemäß Artikel hinzugefügt hatte, teilte mir Swift den wahren Fehler mit. In meinem Fall fehlte es}, aber es konnte eine beliebige Anzahl von Problemen geben.
quelle
Ich hatte auch das gleiche Problem in xcode 10 und habe alle angebotenen Lösungen ausprobiert, aber nichts hat funktioniert.
Dann habe ich alle Dateien und Ordner des folgenden Ordners gelöscht:
~/Library/Developer/Xcode/DerivedData
und es funktionierte wie ein Zauber.
quelle
cd ~/Library/Developer/Xcode/DerivedData && open .
Dieser Fehler ist mir passiert, als ich vergessen habe, die Entitätseigenschaften vor dem Erstellen der NSManagedObject-Unterklasse zu ändern. Gelöst von:
Entity+CoreDataClass.swift
undEntity+CoreDataProperties.swift
.Current Product Module
und "Codegen" inManual/None
.quelle
Dieser Fehler trat auf, als ich mein Projekt von Swift 4 auf 5 aktualisierte. Ich habe zuerst alle meine Pods auf die neuesten Versionen aktualisiert. Als ich baute, zeigten einige Pods diesen Fehler.
Die folgenden Schritte haben dieses Problem für mich behoben:
Podfile
pod install
, um alle installierten Pods zu entfernenpod deintegrate
Wird ausgeführt , um die Unterstützung für CocoaPods zu entfernenPodfile.lock
und.xcworkspace
aus meinem Projekt also keine CocoaPods mehr.xcodeproj
DateiPodfile
pod install
Wird ausgeführt, um CocoaPods wieder zu integrieren und meine Pods hinzuzufügen.xcworkspace
DateiJetzt habe ich nur noch Fehler in meinem eigenen Projektcode, die mit dem Unterschied in der von mir gemachten Swift-Version zusammenhängen. Meine Aufgabe ist es jetzt, sie zu reparieren.
quelle
Ich hatte den Fehler
Command LinkStoryboards failed with a nonzero exit code
und stellte fest, dass ich einen Verweis auf ein nicht vorhandenes Storyboard verwendete. Ich hatte kürzlich den Namen einer Storyboard-Datei geändert, sodass das Ändern des Verweises vom "alten" Namen in den "neuen" Namen das Problem für mich löste.Möglicherweise haben Sie nicht genau den gleichen Fehler wie ich, aber eine einfache Möglichkeit, eine detailliertere Erklärung des Fehlers zu finden, besteht darin:
Ich hoffe das hilft. Bitte, ich bin mir bewusst, dass ich aus Erfahrung mit einem anderen Fehler antworte, als diese Frage gestellt wurde, aber ich glaube, dieser Rat sollte Ihnen helfen, ähnliche Probleme zu überwinden!
quelle
Wenn Sie mehrere Ziele haben, bei denen zwei oder mehr Ziele Dateien mit demselben Namen haben, überprüfen Sie die Zielmitgliedschaft dieser Dateien im Dateiinspektor. Der Fehler tritt auf, wenn mehrere Instanzen der gleichnamigen Datei die Zielmitgliedschaft für dasselbe Ziel festgelegt haben.
quelle
Der Wechsel zum Legacy-Build-System hat das Problem für mich behoben
quelle
Da dieses Problem Dutzende möglicher Lösungen zu haben scheint und die Grundursache sehr vage sein könnte, werde ich meine Situation in den Ring werfen. Die Hälfte meiner Pods versagte mit einem
CompileSwiftSource
Fehler, aber nur im Archiv. Ich konnte immer noch gut für Gerät und Simulator bauen. Ich habe viele (wenn nicht alle) der hier vorgeschlagenen Lösungen ohne Glück ausprobiert. Einer der Pods hatte vor demCompileSwiftSource
Fehler einen etwas anderen Fehler , daher habe ich versucht, diesen einzelnen Pod zu aktualisieren und zu reparieren. Es war dieCache
Bibliothek für iOS, die seit einiger Zeit nicht mehr aktualisiert wurde. Es gab eine Abzweigung, die das Problem mit der Aktualisierung auf Xcode 10.2 löste, auf die ich aktualisieren konnte, und danach haben sich alle anderen Probleme von selbst erledigt. Suchen Sie also nach einem einzigen Ausreißer in Ihren Pods, wenn einige Fehler auftreten, und beginnen Sie dort.quelle
In meinem Fall war ich ein sauberer Build-Ordner und habe meinen Mac neu gestartet, dann funktioniert es.
quelle
Ich hatte den
JSONwebtoken
Pod installiert und das verursachte Probleme. Ich musste den CommonCrypto-Ordner löschen, der sich imJSONWebtoken
Pod-Ordner befindet. Hier ist ein -> Link <-, der das Problem erklärt. Dies begann in Xcode 10.quelle
In meinem Fall habe ich zu komplizierte Initialisierungen innerhalb einer Klassenerweiterung verwendet. Es hat plötzlich meinen Körper gebrochen.
class MyClass { } extension MyClass { static var var1 = "", var2 = "", var3 = "", var4 = "", ...., var20 = "" }
Aufgelöst:
class MyClass { } extension MyClass { static var var1 = "", static var var2 = "", static var var3 = "" static var var4 = "", ...., static var var20 = "" }
quelle
In meinem Fall war es ein leerer Anlagenkatalog, als ich ihn löschte, war alles wieder in Ordnung.
quelle
Der Befehl CompileSwift ist mit einem Exit-Code ungleich Null fehlgeschlagen
Dieser Fehler tritt auf, wenn Sie Ihren Code von Xcode 9 auf Xcode 10+ migrieren. Aufgrund eines Klassennamens besteht ein Konflikt mit vorhandenen Apple-Klassen. Zum Beispiel: Status, Ereignis usw.
Ändern Sie also zuerst den Klassen- / Strukturnamen, falls in Ihrem Code vorhanden, wie "State" in "StateDetail".
Wenn Info.plist zum Ziel hinzugefügt wird, entfernen Sie das Häkchen , damit das App-Bundle nicht kopiert wird (letzter Xcode10-Sicherheitsgrund).
Und wieder Code bauen !!!
quelle
In meinem Fall bestand das Problem darin, dass ich dem viewController im Storyboard eine .swift-Klasse zugewiesen habe, während das Projekt Ziel C war.
quelle
Ich habe viele der hier diskutierten Optionen ausprobiert.
Nichts hat geklappt. Ich verwende Xcode Version 11.0 Beta (11M336w).
Schließlich habe ich eine neue Kopie heruntergeladen und die zuvor installierte ersetzt. Es war genau die gleiche Version. Das hat funktioniert.
quelle
Ich habe diesen Fehler erhalten, als ich versucht habe, meine Komponententests in einem Submodul auszuführen. Was ich getan habe ist:
Ändern Sie den Simulator => Reinigen Sie das Projekt => Erstellen Sie das Projekt => Führen Sie Unit-Tests durch .
Danach liefen meine Unit-Tests ohne Probleme.
quelle
Ich habe das Problem so und meine Lösung besteht darin, ein wenig in den Build-Einstellungen zu ändern:
SWIFT_COMPILATION_MODE = singlefile; SWIFT_OPTIMIZATION_LEVEL = "-O";
es funktioniert für mich
quelle
Okay, ich hatte das gleiche Problem mit Xcode 10. Normalerweise verwende ich für jede Ansicht ein Storyboard. Wenn jemand hilft, ist es einfacher, Code einzufalten. Ich musste eine der Ansichten auf einem Storyboard zum Controller für die anfängliche Ansicht machen.
quelle
storyboard.loadInitialView()
und auf einem Storyboard wurde diese Option nicht angeklickt, und als ich darauf geklickt habe, ist sie verschwunden.In meinem Fall wurde versehentlich eine Datei in eine vorhandene Datei in einem anderen Ordner (Gruppe) umbenannt. Benennen Sie sie einfach in das um, was sie war, und der Fehler verschwand
quelle
Die Ziele sollten mit verwandten Daten wie Appicon angegeben werden
quelle
Für mich war das Problem, dass ich nicht auf mein Podfile gesetzt habe
use_frameworks!
. Ich kommentiere diese Zeile einfach aus und laufe wiederpod install
auf dem Terminal. Und es wurde behoben.Es wurde kommentiert, da die App vollständig auf Objective-C erstellt wurde. Da die App jetzt Swift verwendet, musste ich diese Änderung im Podfile vornehmen
quelle
Ich hatte den gleichen Fehler Neustart von Xcode und Neukompilierung Das Problem wurde für mich behoben.
quelle
In meinem Fall ging es darum, eine Datei mit dem Namen Location zu haben. Nach einigem Graben finde ich heraus, dass es darum ging, zwei Dateien mit demselben Namen zu haben (seltsam). Weil ich es jedoch nicht gelöst habe, indem ich die Datei entfernt und eine andere Datei mit einem anderen Namen hinzugefügt habe.
filenames are used to distinguish private declarations with the same name
quelle
Was mir geholfen zu setzen ,
Compilation Mode
umIncremental
für alle Konfigurationen inTarget's Build Settings
. ImWhole module
Kompilierungsmodus habe ich Fehler bekommen. Diese Einstellung verlangsamte jedoch die Erstellung des Projekts.quelle
Wenn bei einer neuen MacOS-Version ein solcher Fehler auftritt.
xcrun: Fehler: Ungültiger aktiver Entwicklerpfad (/ Library / Developer / CommandLineTools), xcrun fehlt unter: / Library / Developer / CommandLineTools / usr / bin / xcrun
Dies bedeutet, dass Sie die XCode-Befehlszeile installieren, ein Terminal öffnen und diesen Befehl ausführen müssen:
$ xcode-select --install
quelle
Was diese Fehler für mich verursachte (ich bekam 8+ für einige meiner Cocoapods), war das Beheben von Laufzeit-Build-Problemen in allen Pods.
quelle
Gehen Sie zu den Build-Einstellungen Ihres Projekts, fügen Sie eine benutzerdefinierte Einstellung mit dem Namen hinzu
SWIFT_ENABLE_BATCH_MODE
und setzen Sie den Wert aufNO
.quelle
Ich habe ein ähnliches Problem gehabt. Ich habe getan
Legacy Build Settings
- hat nicht funktionierttypedef NS_ENUM
in .h-Datei und enumsbezogene Arbeiten. Erstellen Sie das System und den gezeigten Erfolg. Als nächstes entfernen Sie den Kommentar aus dem Code und erstellen ihn erneut - Magisch funktioniertquelle