Ich habe einen XCode-Arbeitsbereich mit einem Benutzeroberflächenprojekt (UI) und einem Kernlogikprojekt (Core). Ich möchte OCUnit Komponententests im UI-Projekt durchführen. Daher habe ich wie üblich ein neues Testziel hinzugefügt.Komponententest mit einer statischen Bibliothek
Ich bin in der Lage, Tests gut auszuführen, bis ich im Haupt-UI-Ziel importieren Anweisungen für Klassen, die wiederum auf das Core-Projekt verweisen.
Der Fehler, den ich bekomme, ist "Lexikalische oder Präprozessor-Ausgabe 'xxx.h' Datei nicht gefunden". Ich erhalte diese Nachricht nicht, wenn ich das Hauptbenutzeroberflächenziel direkt erstelle.
Es ist, als ob das Hauptziel der Benutzeroberfläche über Core weiß, wenn es erstellt wird, aber wenn es vom Testziel referenziert wird, scheint es nichts über Core zu wissen.
Ich machte den Schritt des Hinzufügens eines Verweises auf das Kernprojekt mit dem "Link Binaries with Libraries" Der Eintrag in der Liste bleibt rot. Ein Anhaltspunkt? Vielleicht, aber die rote Referenz in der Linkliste hält das UI-Ziel nicht davon ab, Kernklassen zu erstellen und zu verwenden. Ich machte auch das Hauptziel eine Abhängigkeit des Testziels.