XCTest / XCTest.h wurde nicht in alten Projekten gefunden, die in Xcode 6 erstellt wurden
Ich habe ein paar Projekte, die ich bin versucht zu erstellen mit Xcode 6 Beta 2. Die Projekte haben alle irgendeine Art von Bibliothek, die verwendet XCTest (Kiwi/XCTest und Herr) , don ' T build in Xcode 6, da XCTest/XCTest.h kann nicht gefunden werden.
fatal error: 'XCTest/XCTest.h' file not found
#import <XCTest/XCTest.h>
Bemerkte ich, dass XCTest.Rahmen ist nicht mehr in der "Link-Bibliotheken mit Binaries" build-phase Liste, aber das ist gut, weil wenn ich ein neue Projekt mit Xcode 6 es erscheint die Bibliothek in verknüpft ist, automatisch.
Vielleicht einige relevency, meine XCTest-müssen-Abhängigkeiten sind alle brachten in über Cocoapods.
Ist es etwas, was ich bewusst bin, dass ich zu aktualisieren, mit meinem Projekt?
InformationsquelleAutor der Frage Erik Kerber | 2014-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinweis: Dies kann nicht erforderlich sein, für jede erstellte Projekte in Xcode 7.
CocoaPods hatte eine Lösung für dieses hier und hier
Um dieses Problem zu beheben für jede CocoaPod Abhängigkeiten müssen Sie den folgenden, um
FRAMEWORK_SEARCH_PATHS
in jedem Pod Ziel, das erfordert XCTest (z.B. Kiwi, Herr, FBSnapshotTestCase, etc).$(PLATFORM_DIR)/Developer/Library/Frameworks
Diese werden erlauben Ihnen, Bezug auf XCTest in alle Abhängigkeiten, die Sie haben können. Dies kann behoben werden in einem zukünftigen update von CocoaPods, oder der Pod, die Sie verweisen, so möchten Sie vielleicht, um es zu entfernen später.
Es ist nicht schädlich für frühere Versionen von Xcode so sein sollte, sicher zu verwenden.
InformationsquelleAutor der Antwort squarefrog
War ich zum verschieben von Dateien in ein Projekt um. Alles, was Sie zu tun haben ist wählen Sie Ihre test-Dateien
xxxTests.m
etc. und infile inspector
wählen Sietarget
alstest
und nicht als reguläre Gegner.InformationsquelleAutor der Antwort Jakub Truhlář
Habe ich bemerkt, dass XCTest verfügbar ist, um ein test-target (nur in Xcode 6). Wenn Sie mit XCTest für andere Gegner (warum auch immer), sehen Sie die
XCTest.h not found
Fehler.InformationsquelleAutor der Antwort Mustafa
@squarefrog hat die richtige Antwort aber Sie haben zu tun zu halten, dass jedes mal manuell aktualisieren Sie Ihre Einheiten 🙁
Wenn Sie fügen Sie diese an Ihre podfile wird es automatisch fügen Sie den extra-Weg für Sie. E. g. wenn Sie hinzufügen wollte
$(PLATFORM_DIR)/Developer/Library/Frameworks
zuFRAMEWORK_SEARCH_PATHS
für Herr:InformationsquelleAutor der Antwort deanWombourne
Dieser Fehler kommt, wenn Sie Hinzugefügt haben eine Datei, wo XCTest verwendet wird, die außerhalb des test-target. Um dies zu beheben in AppCode, können Sie mit der rechten Maustaste auf jegliche verdächtige Datei und wählen Sie "Verwalten von Zielen", dann stellen Sie sicher, dass nur die test-target überprüft.
InformationsquelleAutor der Antwort Tash Pemhiwa
Ich habe vor dasselbe Problem nach einiger Zeit habe ich importiert XCTest Rahmen von build-Phasen und das Problem gelöst.
Build-Phasen-> XCTest.Framework>reinigen und zu laufen. Ich hoffe, es wird hilfreich sein einige.
für Ihre Referenz...Import XCTest im bestehenden Projekt
InformationsquelleAutor der Antwort Narasimha Nallamsetty
Als der Zeitpunkt des Schreibens ist die neueste version von Cocoapods (0.33.1) keine Lösung für das problem.
Aber die cutting-edge-version.
Folgen diese Anleitung um die neueste version von Cocoapods bis von Quelle. Ich rufe meine
pod-dev
(in der Anleitung) zu unterscheiden von der gem-version von Hülsen.Der Vorteil dieses Ansatzes ist, dass Sie brauchen keine zusätzliche scripting in Ihrem Podfile. Sie müssen nur daran zu erinnern, zu tun, eine
pod-dev install
statt der üblichenpod install
.InformationsquelleAutor der Antwort fatuhoku
Der beste Weg, um haben ein XCTest ist, fügen Sie es aus dem Test Nagigator (5. Symbol in der linken Fensterbereich).
Handeln also, das neue xx.m-test-Datei nicht Ziel (im rechten Bereich) eine app (im linken Bereich > Ziel -, Wrapper-Erweiterung : app), aber ein bundle (Wrapper-Extension: xctest)
'XCTest/XCTest.h' file not found
es ist, weil Ihre Datei hatte zum Ziel eine app.InformationsquelleAutor der Antwort tontonCD
Dies ist die einfachste work-around, den ich gefunden habe. Keine änderungen des Projektes notwendig sind. Und dieser Wandel wird anhalten, bis zu Ihrem nächsten Xcode aktualisieren:
InformationsquelleAutor der Antwort Steven Kramer
Auf ein Projekt ohne Cocoapods (also nicht direkt der Beantwortung der OP - Frage, aber vielleicht hilfreich für mich oder für andere in der Zukunft), wir hatten das gleiche Problem. Es wurde gelöst, indem Sie ersetzen unsere bisherigen OCTest Elemente mit XCTest. Zum Beispiel, eine Datei MyApp.xcodeproj/project.pbxproj hat dieses diff (gekürzt) ;
- path = MyAppUnitTests.octest; sourceTree = BUILT_PRODUCTS_DIR; };
+ path = MyAppUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
InformationsquelleAutor der Antwort AnneTheAgile