Ho un'area di lavoro XCode con un progetto di interfaccia utente (UI) e un progetto di core logic (Core). Voglio test delle unità OCUnit nel progetto dell'interfaccia utente, quindi ho aggiunto un nuovo obiettivo per i test, come è comunemente fatto.Unità di test con una libreria statica
Sono in grado di eseguire i test bene fino a quando non inserisco istruzioni di importazione per le classi nel target dell'interfaccia utente principale che a loro volta fanno riferimento al progetto Core.
L'errore riscontrato è "Problema lessicale o preprocessore" xxx.h "file non trovato". Non ricevo questo messaggio quando creo direttamente il target principale dell'interfaccia utente.
È come se il target principale dell'UI fosse a conoscenza di Core quando è stato creato, ma quando viene referenziato dal target di test sembra non sapere nulla di Core.
Ho fatto il passo di aggiungere un riferimento al progetto principale utilizzando "Collega i file binari con le librerie". L'elemento nell'elenco rimane rosso. Un indizio? Forse, ma il riferimento rosso nella lista dei collegamenti non mantiene il target dell'interfaccia utente dalla costruzione e dall'uso delle classi core. Ho anche fatto dell'obiettivo principale una dipendenza dall'obiettivo del test.