Warnung zum Suchpfad der Xcode 7-Bibliothek

117

Dies ist die Warnung, die angezeigt wird:

Verzeichnis für Option '-F / Anwendungen / Xcode-beta.app / Inhalt / Entwickler / Plattformen / iPhoneOS.platform / Entwickler / SDKs / iPhoneOS9.0.sdk / Entwickler / Bibliothek / Frameworks' nicht gefunden ""

Kann jemand helfen, die Warnung zu beheben?

Arwaz Shaikh
quelle
1
Diese Antwort hat diesen Fehler für mich behoben
fpr0001
@arwaz shaikh Vergessen Sie nicht, meine Antwort als die richtige Antwort zu markieren (wenn Sie der Meinung sind, dass sie Ihre Frage richtig beantwortet), kann dies dazu beitragen, dass die Leute sie schneller über Google oder Stack Overflow finden.
König-Zauberer

Antworten:

225

So habe ich dieses Problem behoben

Nach einer Migration meines Xcode-Projekts von Xcode 6.4 auf Xcode 7 wird die folgende Warnmeldung (nach der Kompilierung) für das Testziel angezeigt :

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

Eigentlich habe ich etwas gefunden, als ich ein neues Projekt mit einem älteren verglichen habe ...

Im alten Projekt wurde die Warnung nur vom Testziel meiner Projekte erzeugt. Unter "Suchpfade" fand ich zwei Elemente unter "Framework-Suchpfade" :

$(SDKROOT)/Developer/Library/Frameworks
$(inherited)

Das neue Projekt hat die 'Framework Search Paths' leer gelassen.

Durch Löschen dieser Einträge in meinem älteren Projekt wurde die Warnung entfernt.

Anmerkungen:

Ich habe die Einstellungen nicht vollständig verglichen, daher kann es zu zusätzlichen Unterschieden kommen.

Nur für den Fall, dass Sie eines Tages erneut auf eine der beiden folgenden Warnmeldungen stoßen , denken Sie daran, dass Sie dies tun müssen: Wenn die Warnung für die Option '-L/...'Bibliothekssuchpfade gilt, löschen Sie das Material dort. Wenn sich die Warnung jedoch auf die Option '-F/...'Framework Search Paths bezieht, löschen Sie das Material dort.

König-Zauberer
quelle
2
Das obige ist richtig. Wenn Sie jedoch CocoaPods verwenden, habe ich festgestellt, dass sich der Eintrag auch in den von ihm erstellten * .xcconfig-Dateien befinden kann. Die Lösung ist identisch: Entfernen Sie sie, in diesem Fall aus der Zeile FRAMEWORK_SEARCH_PATHS in Ihrer * .xcconfig-Datei (en).
Ecotax
2
Ich habe genau das gleiche Problem (-F / ...) und habe das Material bereits in Framework-Suchpfaden gelöscht, aber die Warnung wird weiterhin angezeigt.
Gabe12
4
Bereinigen Sie das Xcode-Projekt und erstellen Sie es neu. Die Warnmeldung sollte verschwinden.
König-Zauberer
1
Ich habe das Testziel nicht verwendet und musste es schließlich löschen, damit es erstellt werden kann.
theLastNightTrain
King-Wizard hat die richtige Antwort. Genauer gesagt müssen Sie in die "Build-Einstellungen"> "Suchpfade"> "Framework-Suchpfade" Ihres Projekts gehen.
Suchpfade Suchpfade"
19

Basierend auf der Fehlermeldung klingt es so, als ob die erste Aufgabe darin besteht, den Pfad des Ziels zu begradigen. Sie können die Pfade wie in den Antworten auf diese StackOverflow-Frage gezeigt bearbeiten . Überprüfen Sie unbedingt den Pfad für alle Ihre Ziele, wenn Sie nicht sicher sind, was den Fehler verursacht. Dies hat mich nach dem Upgrade eines Projekts auf die Xcode 7-Beta ein wenig aufgewühlt. In FRAMEWORK_SEARCH_PATHS gab es einen Pfad für das Testziel, das gelöscht werden musste. Der Pfad, der sich dort befand, war genau der Pfad, auf dem Sie die Warnung erhalten haben. Das Entfernen des Pfades beseitigte ihn.

Dave Ruske
quelle
16

König-Zauberer ist im Wesentlichen richtig, um ein wenig mehr auszuarbeiten -

Xcode 7 sucht nach Ihrem Testframework XCtest.frameworkin einem Pfad, der nicht vorhanden ist. Der $(SDKROOT)/Developer/Library/Frameworksunter 'Suchpfade -> Framework-Suchpfade' festgelegte /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/FrameworksPfad sucht nach dem Framework, in dem kein gültiger Pfad vorhanden ist. Sie können die Zeile löschen $(SDKROOT)/Developer/Library/Frameworks, um den Fehler zu beheben, und dennoch Tests ausführen.

Der richtige Pfad zu 'XCTest.framework' ist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworksfür diejenigen, die neugierig sind.

Ich hoffe das hilft.

Eric Murphey
quelle
1

Ich hatte den gleichen Fehler mit Xcode 9.2 und hier sind meine Lösungen ohne Handarbeit:

  1. Klicken Sie im Projektnavigator auf Ihr Projekt
  2. Gehen Sie zu Zielen und klicken Sie auf MyProjectNameTest
  3. Klicken Sie auf Build Settings und suchen Sie nach " Framework Search Paths ".
  4. Löschen Sie unter Framework- Suchpfade die Pfade und behalten Sie das "$ (geerbt)" bei.

Geben Sie hier die Bildbeschreibung ein

Für diejenigen von Ihnen, die den folgenden Fehler haben:

Verzeichnis für Option '-L /… nicht gefunden

Das bedeutet, dass es sich um einen Bibliotheksfehler handelt. Sie können also die folgenden Schritte ausführen:

  1. Klicken Sie auf Ihr Projekt (Ziele)
  2. Klicken Sie auf Build Settings, Search for "Library Search Paths".
  3. Löschen Sie unter Bibliothekssuchpfade die Pfade und behalten Sie das "$ (geerbt)" bei.
Jorge Casariego
quelle