2014-12-05 13 views
14

Yeniden adlandırılmadan önce projemi ilk kez çoğaltdım. Yeniden adlandırma sonra benProjeyi yeniden adlandırdıktan sonra <XCTest/XCTest.h> bulunamıyor.

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

hata Ayrıca

#import <XCTest/XCTest.h> 

"XCTestCase"
@interface SpyShotTests : XCTestCase 

sonraki hat çağrıları myapptests.m dosyasına beni yönlendirir alıyorum Mor ışık yakmaz.

Gördüğüm herhangi bir eğitim beni Yapı Ayarları'ndaki Çerçeve Arama Yollarına yönlendirdi; ancak çerçeve arama yolu tam olarak ilk dosyayla aynıdır ve bu dosya hiçbir sorun olmadan oluşturulur.

cevap

29

Benzer bir şeye rastladım ve çözümümün yararlı olup olmadığını merak ediyorum.

Hatayı atan dosyanın uygun Hedef Kaynağın "Derleme Kaynakları" na dahil edildiğini kontrol etmek isteyebilirsiniz. Dosyanızın dahil edilmemiş olması olasıdır. Benim durumumda, test hedefi ile değil, proje hedefine dahil edilmişti. XCTest'e yalnızca Test Hedefi ile erişilebildiğinden, "XCTest/XCTest.h dosyası bulunamadı" hatasını oluşturmama neden olmaz.

Proje Hedefleri >> >> Derleme Kaynaklar Phases oluşturma: Making sure your test file is added as a compile source for the test target.

Ya elle yukarıdaki resimde uyarınca "Derleme Kaynakları" e ekleyerek bu sorunu giderebilirsiniz veya dosyayı kaldırabilirsiniz Eğer-eklentiyi yeniden ne zaman proje ve Test Hedefi seçmek için emin olun, bunu yeniden ekleyin: durumda Adding a new file to the Test Target.

ben (dosya sisteminde) bir test dava dosyasını taşıdıktan sonra bu rastladı başkası yardımcı olur ve daha sonra test projeme tekrar ekledim (sağ tıklayın, 'Dosyaları Dosyaya Ekle' ... '). Dosyayı Test hedefine eklemediğimi gösteriyor - Proje Hedefine ekledim.

1

Xcode 7.2.1/Swift 2.1.1: Yeni bir dosya oluşturdu

, ben iOS>Source>Swift File seçtik ve test hedefi kontrol rağmen, hala import XCTest hattında bir hata var:

error: cannot load underlying module for 'XCTest'

ben iOS>Source>Unit Test Case Class seçmek zorunda yeni bir dosya oluştururken, bu hata kurtulmak ve ben her şey için varsayılan kabul edilmek için.

İlgili konular