Ich habe eine iOS-Anwendung, der ich OCMock hinzufügen möchte, um sie besser testen zu können. Ich habe die Anweisungen auf ocmock.org sowie Anweisungen, die ich an anderen Orten gefunden habe, befolgt, aber ich kann meinen Testcode nicht kompilieren.
Folgendes habe ich getan
Der Quellcode wurde meinem Projektverzeichnis hinzugefügt
Erstellen Sie die Gruppen in meinem Projekt, um mein Dateisystem nachzuahmen
Ich habe die Option zum Hinzufügen zu meinen Testzielen ausgewählt, sodass das Framework ebenso wie der Bibliothekssuchpfad hinzugefügt wurde
Dann habe ich die Kopfzeilen manuell zum Header-Suchpfad hinzugefügt
Und das -ObjC-Linker-Flag hinzugefügt
Wenn ich dann gehe, um die Header-Datei zu importieren, bekomme ich den Fehler file not found
Irgendwelche Ideen, was mir hier fehlt ???
Sie haben den Suchpfad test/libraries/OCMock
. Dann haben Sie #import <OCMock/OCMock.h>
.
Dies schlägt fehl, weil es keine Datei test/libraries/OCMock/OCMock/OCMock.h
gibt.
Sie verwenden den Suchpfad test/libraries
, oder Sie können ein Präfixverzeichnis erstellen, das OCMock
enthält und den Suchpfad darauf zeigt.
Ich habe generell ein Verzeichnis mit dem Bibliotheksnamen und der Versionsnummer vor dem eigentlichen Verzeichnis.
Das Verzeichnis test/libraries/OCMock-X.X.X
könnte das Verzeichnis OCMock
enthalten. Auf diese Weise ist der Suchpfad noch spezifischer: test/libraries/OCMock-X.X.X
und Sie verwenden immer noch OCMock/OCMock.h
als Include.
Noch eine Sache, die überprüft werden sollte, für alle anderen, die dieses Problem hatten - ich habe OCMock von einem Projekt in ein anderes kopiert und alles sah richtig aus, aber es fand die Include-Datei nicht. Es stellte sich heraus, dass, obwohl ich die richtigen Gruppen in Xcode hatte, die Dateien alle in einem Verzeichnis abgelegt worden waren. Ich musste Ordner auf dem Datenträger erstellen und sie den Gruppen in Xcode zuordnen. Die akzeptierte Antwort hat mich darauf hingewiesen, was falsch war (obwohl es, wie es oft der Fall ist, im Nachhinein offensichtlich gewesen sein sollte).