Probleme nach dem Upgrade auf Xcode 10: Build-Eingabedatei wurde nicht gefunden


105

Ich habe gestern Abend mein Xcode SDK auf Version 10 aktualisiert und dann festgestellt, dass ich nicht erstellen kann.

Ich erhalte diesen Fehler:

Die Build-Eingabedatei wurde nicht gefunden: '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

die vor meinem Upgrade nicht existierte und ich bin versucht, zurück zu kehren, möchte aber bei Version 10 bleiben, wenn ich dieses Problem beheben kann.

Antworten:


131

Versuchen Sie, zurück zu Legacy Build System( File > Project Settings > Workspace Settings > Legacy Build System) zu wechseln


2
Nett. Aber ich frage mich immer noch, was später passieren wird? Wir müssen unser Projekt reparieren, aber wie?
Teddy

1
@ Teddy Ich habe noch keine Lösung gefunden und benutze immer noch diese
Problemumgehung

2
@schmidt9 Hut ab, vielen Dank, dass Sie ein Lebensretter sind. Zweitens kann ich nicht glauben, dass dieses neue Build-System das Problem war. Ich habe seit Tagen damit zu kämpfen. Nach dem Update auf iOS 12 und XCode 10 wurde die automatische Signatur unterbrochen. Ich habe alles versucht und sogar alle Zertifikate widerrufen und neu erstellt. und Profile. Das Signieren wurde behoben, aber das Bereitstellungsprofil war immer KEIN. Ich konnte die App manuell signieren und es funktionierte, aber dann fehlten der iCloud-Container und andere Berechtigungen in der veröffentlichten App. Trotzdem, mein Problem wurde behoben. Guter Herr, wie Apple mich mit jedem Update frustriert. Prost!
Nexus

Dies hat mein Problem mit der automatischen Signatur und Profilerstellung behoben. Ich habe jedoch immer noch Probleme mit iCloud-Containern. Wenn ich die App direkt auf meinem Telefon installiere, funktioniert sie einwandfrei. Ich habe einen iCloud-Container und verwende iCloud-Dokumente zum Anhängen von Dateien aus dem iCloud-Speicher. Aber wenn ich die App für TestFlight freigebe, funktioniert sie nicht. schlägt stillschweigend fehl, als ob der iCloud-Container nicht einmal im Profil der verteilten App vorhanden wäre. unglaublich frustrierend.
Nexus

1
@Nexus Dieses Problem mit dem neuen Build-System besteht weiterhin, seit Apple es gestartet hat (xcode 8 oder 9). Sorry, habe mich nicht mit iCloud-Containern befasst, kann nicht sagen, wo das Problem liegen könnte
schmidt9

88

Für Swift-Dateien oder Dateien, die zum Projekt gehören, wie z.

Build input file cannot be found: PATH/TO/FILE/FILE.swift

Dieses Problem kann auftreten, wenn Dateien oder Ordner im Projekt entfernt oder verschoben wurden.

Etwas reparieren:

  1. Gehen Sie in den Projektnavigator und wählen Sie Ihr Projekt aus

  2. Wählen Sie Build PhasesRegisterkarte

  3. Suchen Sie im Compile SourcesAbschnitt nach den Dateien, über die sich Xcode beschwert

  4. Beachten Sie, dass die Datei (en) den falschen Pfad haben, und löschen Sie sie, indem Sie auf das Minus-Symbol klicken

  5. Fügen Sie die Datei (en) erneut hinzu, indem Sie auf das Pluszeichen klicken und im Projekt suchen.

  6. Produkt> Build-Ordner bereinigen

  7. Bauen

Diese fehlenden Dateien finden Sie in der Regel in der Recovered References Ordner von Xcode im Projektbaum (suchen Sie nach der Suchleiste unten links in Xcode und suchen Sie nach Ihrer beschwerdeführenden Datei):

Das Löschen aus diesem Ordner kann den Fehler ebenfalls beheben.


1
Danke dir! Wir hatten Verweise auf gelöschte Dateien. Das Löschen dieser Referenzen allein löste das Problem
Jason

Manchmal, wenn ich in XCode umbenenne, enthält die Datei im 'Finder' immer noch den alten Namen. Suchen Sie die Datei im 'Finder' und benennen Sie sie in den neuen Namen um.
Tony

58

Für mich In Xcode 10 funktionierte diese Lösung wie ein Zauber. Gehen Sie einfach zum Ordner "Wiederhergestellte Referenzen", entfernen Sie alle Dateien in roter Farbe und fügen Sie sie erneut mit der richtigen Referenz hinzu.

Geben Sie hier die Bildbeschreibung ein


10
Ich kann "Wiederhergestellte Referenzen" in meinem Projekt nicht finden
David M Lee

4
Was meinst du mit "erneut mit der richtigen Referenz hinzufügen", nachdem wir die roten Dateien entfernt haben?
PrimeTimeTran

@PrimeTimeTran Ich meinte, dass Sie diese Dateiverweise in Ihrem Projekt erneut per Drag & Drop oder Kopieren und Einfügen hinzufügen können. Genau wie das Hinzufügen einer neuen Datei im Projekt.
Krishna Thakur

3
@davidmlee Ich denke, was dieser Typ mit anderen Worten bedeutet: "Öffne alle deine Ordner im Projekt, lösche das rote Zeug und füge es wieder hinzu." Es muss kein wiederhergestellter Referenzordner vorhanden sein.
Bearacuda13

17

Dies hat bei mir in Xcode 10 funktioniert:

  • Klicken Sie in Ihrem Xcode-Projekt auf Projektsymbol / -name
  • Gehen Sie zur Registerkarte Allgemein
  • Klicken Sie im Abschnitt Identität auf [Datei info.plist auswählen]
  • Wählen Sie die Datei info.Plist aus
  • Überprüfen Sie die Registerkarte Info, um festzustellen, ob info.plist erfolgreich geladen wurde
  • Bauen und ausführen

15

Lustigerweise könnte es auch ausreichen, Xcode zu schließen und erneut zu öffnen.


Ich habe auch abgeleitete Daten gelöscht, aber das einfache Schließen / erneute Öffnen könnte ausreichend gewesen sein.
Adam Johns

Ich dachte, dies sei eine Visual Studio-Methode, um Dinge zu reparieren ... aber es hat bei mir funktioniert.
SEG.Veenstra

14

Die obige Lösung funktioniert schließlich für mich; Ich muss jedoch noch einige zusätzliche Schritte ausführen, damit es endlich erfolgreich kompiliert werden kann. (Diese zusätzlichen Schritte waren sogar für Xcode 9 erforderlich.)

  1. Xcode: Datei -> Arbeitsbereichseinstellungen -> Build-System: Legacy-Build-System
  2. Xcode: Produkt -> Reinigen
  3. Drehen Sie, um verschiedene Emulatortypen wie "iPhone 8", "iPhone 8 Plus" usw. zu kompilieren. (Sie können fehlschlagen oder nicht.)
  4. Kompilieren Sie schließlich auf "Generic iOS Device"

Ich musste einige dieser Schritte durchlaufen, damit es auch funktioniert.
Liwen Zhao

13

Überprüfen Sie einfach den Pfad zur .plist-Datei in den Build-Einstellungen Ihres Ziels

Geben Sie hier die Bildbeschreibung ein


Ja - ich hatte die Liste in einen separaten Ordner verschoben. Ich denke, die Ordner waren früher virtuell und jetzt sind sie real (die alte blau / gelbe Ordnersache). So oder so war Ihre Antwort genau richtig :-)
Peter

10

Ich habe dieses Problem folgendermaßen behoben: Gehen Sie zu den Build-Phasen Ihres Projekts (klicken Sie oben auf das Projektsymbol und dann auf Build-Phasen). Suchen Sie dort nach Ihrer Datei. Wenn es da ist (es wird ausgegraut), löschen Sie es. Dann reinigen (Umschalt + Alt + Befehl + k) und loslegen! Ich hoffe es hilft.


8

Wenn der Fehler besagt, dass Info.plist nicht gefunden werden kann und der falsche Pfad angezeigt wird , gehen Sie wie folgt vor:

  1. Wählen Sie Ihr Projekt im Navigator aus und wählen Sie dann Ihr Ziel aus
  2. Wählen Sie "Build Settings" und suchen Sie nach "plist".
  3. Es sollte eine Option namens Info.plist File geben. Ändern Sie den Speicherort auf den richtigen.

Diese Antwort gilt auch, wenn Sie Ihren App-Ordner / Ihre App-Struktur umbenennen. Vielen Dank @keverly
Lorem Ipsum Dolor

5

Keines der oben genannten hat bei mir funktioniert, aber das hat funktioniert:

  1. Öffnen Sie das Projekt im Finder, klicken Sie mit der rechten Maustaste auf Ihre .xcodeproj-Datei und zeigen Sie den Paketinhalt an
  2. Öffnen Sie project.pbxproj in einem Texteditor
  3. Suchen Sie den Verweis auf Ihre fehlende Datei
  4. Bearbeiten Sie path = "path/to/file.swift"den tatsächlichen Speicherort auf der Festplatte und speichern Sie die Datei.
  5. Erstellen Sie das Projekt neu

Dies ist derjenige, der es behebt ... unglaublich
David Seek

Hier gilt das gleiche. Wie zum Teufel hast du das herausgefunden?
Peter Schorn

2

Öffnen Sie den rechten Navigationsbereich, in dem Ihre Projektdateien vorhanden sind, oder klicken Sie auf cmd + 1, und suchen Sie dann nach dem Ordner "Wiederhergestellte Referenzen". Öffnen Sie alle roten Dateien (löschen Sie sie). Dann funktioniert alles einwandfrei.


2

Ich hatte dies für die Erstellung meiner Unit-Tests geschehen. Dies ist möglicherweise passiert, weil ich die Beispieltests gelöscht habe.

Ich entfernte das Unit-Test-Bundle und fügte es wieder hinzu, wie in den folgenden Bildern gezeigt, und alles war wieder in Ordnung.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


2

Nach dem Umbenennen einer Datei ist dieser Fehler aufgetreten. Irgendwie hat Xcode die eigentliche Datei auf der Festplatte nicht richtig umbenannt.

Die Datei konnte also nicht gefunden werden. Manchmal erhalten die Dateien Hervorhebungen mit einer roten Textfarbe. Zu anderen Zeiten wurde das Swift-Symbol vor der Datei grau überlagert.

Das Update war einfach.

  • Sehen Sie sich den Fehler an und sehen Sie genau, welche Datei nicht gefunden werden kann.
  • Wählen Sie die Datei aus, die nicht gefunden werden kann.
  • Gehen Sie zum 'Dateiinspektor'. Es befindet sich im rechten Navigationsbereich von Xcode.
  • Klicken Sie auf das Ordnersymbol.
  • Wählen Sie die richtige Datei.
  • Reinigen Sie den Build und führen Sie ihn erneut aus.

1

Ich hatte ein ähnliches Problem, nachdem ich kürzlich auf eine neue schnelle Version aktualisiert hatte. Durch das Verschieben von Dateien wurde in meinem xcode-Projekt auf Elemente verwiesen, die sich nicht mehr im Projektverzeichnis befanden, und ich erhielt die Fehlercode-Erstellungs-Eingabedatei nicht gefunden.

In meiner Situation hatte ich irgendwie mehrere Dateien / Bilder, auf die wie unten beschrieben verwiesen wurde:Geben Sie hier die Bildbeschreibung ein

Im Bild oben.

  • Navigieren Sie zu Ihrer Zielseite.
  • Klicken Sie dann oben auf die Registerkarte Build-Phasen.
  • Scrollen Sie nach unten, um Bundle-Ressourcen zu kopieren
  • Suchen Sie die betroffenen Dateien und entfernen Sie sie. (Klicken Sie auf Löschen oder wählen Sie sie aus und drücken Sie die Minus-Taste.)

Hier hatte ich irgendwie mehrere Dateien und Bilder, auf die aus anderen Ordnern verwiesen wurde, und der Build schlug fehl, da sie sie nicht mehr finden konnten. Und ich konnte sie auch nicht finden! oder wie Xcode sie immer noch referenzierte

Ich hoffe das hilft jemand anderem!


1

Ich hatte das gleiche Problem. Das Problem war, dass ich keine Datei unter Ziel> Phasen erstellen> Quellen kompilieren hatte. Das Problem wurde behoben, nachdem ich mindestens eine Datei zu Compile Sources hinzugefügt hatte.


1

Nicht, dass ich etwas falsch gemacht hätte, aber ich bin aus einem ganz anderen Grund auf dieses Problem gestoßen und weiß irgendwie, was das verursacht hat.

Ich habe zuvor Finder verwendet und eine Datei in das Verzeichnis / den Ordner meines Projekts gezogen. ich habe nicht in Xcode gezogen . Damit Xcode diese Datei in das Projekt einbezieht, musste ich sie später selbst wieder in Xcode ziehen.

Aber als ich zu einem neuen Zweig wechselte, der diese Datei nicht hatte (und auch nicht musste), gab mir Xcode diesen Fehler:

Die Build-Eingabedatei wurde nicht gefunden: '/ Users / Honey / Documents / xp / xpios / powerup / Models Extensions / CGSize + Extension.swift'


Ich habe den Build-Ordner bereinigt und meine abgeleiteten Daten gelöscht, aber es hat nicht funktioniert, bis ich meinen Xcode neu gestartet habe.


1

Das hat bei mir funktioniert

  1. Versuchen Sie, die roten Dateien zu löschen
  2. Löschen Sie die Dateien in abgeleiteten Daten
  3. Bereinigen Sie den Build-Ordner
  4. Versuchen Sie dann, mit "new build system" in den Einstellungen für Datei-> Arbeitsbereich zu erstellen

1

In meinem Fall war die von XCode erwähnte Datei (und das Verzeichnis) nicht korrekt, und das Problem trat nach einer Git-Zusammenführung mit einem relativ großen Zweig auf. Um dies zu beheben, habe ich die folgenden Schritte ausgeführt:

  • Suche nach der Datei im Verzeichnissystem von XCode.
  • Die fehlerhafte Datei wurde rot hervorgehoben (dh sie fehlte).
  • Klicken Sie mit der rechten Maustaste auf die Datei und entfernen Sie die Datei.
  • Ich habe erneut versucht, meinen Code zu erstellen, und voila, es war erfolgreich.

Ich hoffe, diese Schritte helfen jemandem.


0
  1. Gehen Sie zu Xcode-> Datei -> Projekteinstellung
  2. Build-System ändern: - "Legacy-Build-System".
  3. Reinigen, bauen und ausführen.

0

Was Xcode beschwerte, war eine XIB-Datei, die ich zum Laufen brachte, indem ich zu Projekt -> Phasen erstellen -> Bundle-Ressourcen kopieren ging, das "problematische" XIB entfernte, bereinigte (CMD + Umschalt + K), es erstellte und wieder hinzufügte.


0

Es gibt auch eine Möglichkeit, dass Sie manchmal, wenn Sie Ihre Dateien in einen anderen Ordner verschieben, und insbesondere wenn Sie Ihre info.plistin einen anderen Ordner verschieben, den Speicherort dieser Datei definieren müssen. Um dieses Problem zu lösen, klicken Sie einfach oben auf das blaue Symbol Ihres Projekts. Anstelle des Projektnamens und der Bundle-ID wird eine Schaltfläche angezeigt. Klicken Sie darauf und suchen Sie die info.plistDatei dort. Bereinigen und kompilieren Sie sie problemlos.


0

Ich bin kurz nach dem Upgrade auf Xcode 10 auf dieses Problem gestoßen, aber das war nicht das Problem.

Ich habe versucht, das Build-System zu ändern, aber das gab mir einen separaten Fehler, der dasselbe bedeutete. Allgemein gesagt "Datei X kann nicht gefunden werden".

Es gibt mehrere Dinge zu überprüfen, wenn eine Datei nicht gefunden werden kann.

  1. Wiederhergestellte Referenzen Ordner Apple macht diese nette Sache. Wenn ein Verweis auf eine nicht vorhandene Datei erkannt wird, wird dieser Verweis einer Gruppe mit dem Namen "Wiederhergestellte Verweise" hinzugefügt.

Das ist nett von Apple, aber es funktioniert nicht immer.

  1. Erstellen von Phasen Kompilieren von Quellen In dieser Liste befinden sich möglicherweise Metadaten für eine Datei, die das Projekt kompilieren soll. Die Datei ist jedoch nicht vorhanden und versucht, die Datei unter dem angegebenen Pfad zu finden. In dieser Liste wird es abgeblendet, gelöscht und erneut hinzugefügt, indem die Zielabhängigkeiten der Datei umgeschaltet oder manuell entfernt und hineingezogen werden.

  2. Dateipfad Überprüfen Sie den Dateipfad, den der Fehler druckt, und den Dateipfad für die Datei im Finder. Sie können dies leicht sehen, indem Sie auf die Datei in Xcode klicken und die Registerkarte "Dateiinspektor anzeigen" (ganz links) aktivieren. Wenn diese Wege korrekt sind, sind Sie gut!

  3. Ausgedunkelte Dateien in Ihrem Projekt, die sich nicht in wiederhergestellten oder roten Referenzen befinden. Diese haben mich verärgert, weil nicht klar ist, was passiert ist, aber im Grunde genommen, wenn Sie in den Finder gehen und eine Datei an einen anderen Speicherort verschieben, ohne die Referenz im Projekt zu aktualisieren Der Fehler wird ausgelöst, da die Datei dort nicht mehr vorhanden ist. Der einzige Hinweis, den ich dafür gefunden habe, ist, dass die Datei auf der Registerkarte "Projektnavigator" (Registerkarte ganz links) sehr leicht abgeblendet ist. Wenn Sie jedoch diese Datei löschen, werden Sie von Xcode nicht aufgefordert, die Referenz zu löschen oder an zu senden Müll. Sie können dies beheben, indem Sie die Datei löschen und erneut zum Projekt hinzufügen oder zur Registerkarte "Dateiinspektor" wechseln, auf das Ordnersymbol neben dem Pfad klicken und sie an den richtigen Speicherort ändern.

In beiden Fällen weist der Fehler darauf hin, dass keine Datei gefunden werden kann. Der Wechsel zum alten Build-System ist ein Bandaid für ein konkreteres Problem. Wir als Entwickler verstehen, dass ein Compiler nur möchte, dass ein Artefakt am Ende eines Dateipfads aufgelistet wird. Irgendwo ist der Weg nicht korrekt! Wir müssen herausfinden, wo das ist!

Mein Problem wurde mit dem oben aufgeführten Punkt 4 behoben. Hoffe das hilft jemandem.



0

In meinem Fall habe ich versehentlich einen xcodeproj-Ordner eines Drittanbieters gelöscht, den ich in meiner App verwendet habe.


0

Wenn Sie versucht haben, ein Profiling zu erstellen, das dann nicht funktioniert hat und Sie jetzt nicht erstellen können, wechseln Sie in Ihr Zielfenster (über das Projektsymbol), wechseln Sie zur Registerkarte Build-Einstellungen, suchen Sie nach PROFILE - und setzen Sie CLANG_USE_OPTIMIZATION_PROFILE auf "No".


0

In meinem Fall hatte ich ein neues Testziel erstellt und die Standard-Swift-Datei gelöscht, sodass nur die übrig blieb info.plist. Das Hinzufügen einer neuen Datei hat dies behoben.


0

In meinem Fall hatte ich ein Build-Skript, das die .app-Binärdatei (Buck) generierte. Das Buck-Build-Skript wurde parallel zum Swift Embed-Build-Schritt ausgeführt. Da die .app-Binärdatei noch nicht generiert wurde, schlägt der Swift-Schritt fehl.

In meinem Build-Skript habe ich "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"unter hinzugefügt "Output Files".

Dies teilt dem neuen Build-System von Xcode mit, dass dieses Skript die App Binary ausgibt, und Xcode stellt wiederum sicher, dass alle Build-Schritte synchronisiert werden, die von diesem Artefakt abhängen.

Geben Sie hier die Bildbeschreibung ein

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.