2014-12-05 7 views
14

Prima ho duplicato il mio progetto prima di rinominarlo. Dopo la ridenominazione sto ottenendoDopo aver rinominato il progetto, ottengo <XCTest/XCTest.h> non trovato.

Lexical or Preprocessor Issue <XCTest/XCTest.h> not found. 

L'errore mi indirizza al file myapptests.m che richiama alla

#import <XCTest/XCTest.h> 

Anche la riga successiva

@interface SpyShotTests : XCTestCase 

Il "XCTestCase" è non illuminato in viola.

Qualsiasi tutorial che ho visto mi ha indirizzato ai percorsi di ricerca di framework in Impostazioni di compilazione, ma il percorso di ricerca del framework è esattamente lo stesso del file iniziale e il file viene creato senza problemi.

risposta

29

Mi sono imbattuto in qualcosa di simile e mi chiedo se la mia soluzione potrebbe essere utile.

È possibile controllare che il file che genera l'errore sia incluso nelle "origini di compilazione" della sorgente di destinazione appropriata. È possibile che il tuo file non sia stato incluso. Nel mio caso era stato incluso con l'obiettivo del progetto e non con l'obiettivo del test. Poiché XCTest è accessibile solo con la destinazione del test, non viene compilato per generare l'errore "XCTest/XCTest.h file non trovato".

obiettivi del progetto >> costruire Fasi >> Compile Fonti: Making sure your test file is added as a compile source for the test target.

È possibile risolvere questo sia aggiungendo manualmente le "Fonti di compilazione" come da immagine qui sopra o si può rimuovere il file da il progetto e ri-aggiungerlo, avendo cura di selezionare il target di test quando si ri-add: Adding a new file to the Test Target.

in caso aiuta chiunque altro mi sono imbattuto in questo dopo lo spostamento di un file di test case (nel file system) e quindi aggiungendolo nuovamente al mio progetto di test (tasto destro, "Aggiungi file a" Progetto "..."). Si scopre che non stavo aggiungendo il file al target Test - lo stavo solo aggiungendo al Project Target.

1

Xcode 7.2.1/2.1.1 Swift:

Quando ho creato un nuovo file, ho scelto iOS>Source>Swift File, e anche se ho controllato il bersaglio di prova, ho ancora un errore sulla linea import XCTest:

error: cannot load underlying module for 'XCTest'

per sbarazzarsi di tale errore, quando ho creato un nuovo file ho dovuto scegliere iOS>Source>Unit Test Case Class, e ho accettato le impostazioni di default per tutto il resto.

Problemi correlati