2013-09-24 11 views
30

Próbowałem dodać cel testowy do Xcode 5, używając pakietu Add Target -> Add Cocoa Touch Unit Testing. Jednak po uruchomieniu testu pojawia się następujący błąd:Xcode 5 zgłasza błąd "Biblioteka nie została załadowana" podczas dodawania celu testowego.

2013-09-24 10:43:14.446 Stack Exchange[48895:c07] Error loading /Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange Tests: dlopen(/Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange Tests, 262): Library not loaded: /Developer/Library/Frameworks/XCTest.framework/XCTest Referenced from: /Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange Tests Reason: image not found IDEBundleInjection.c: Error loading bundle '/Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest' Program ended with exit code: 0

Dlaczego to nie działa?

Odpowiedz

76

Musisz przeprowadzić test na symulatorze iOS 7. Nie będzie działać na iOS 6.x.

+0

Właśnie skończyłeś mój dzień. – shawnwall

+0

cieszę się, że mogłem pomóc :) Myślę, że w końcu przydarzy się komuś –

+0

Świetnie, wszystko to kompiluje i działa teraz, z tym, że moje testy XCTest nie działają. Zielone trójkąty obok testów OCUnit są puste obok mnie XCTest. –

2

Naprawiłem to ustawiając zakładkę General -> Deployment Target na 7.0 (dla aplikacji, której używasz do "uruchomienia" testów jednostkowych). To nie jest świetne, jeśli chcesz wspierać wcześniej niż 7.0 dla głównej aplikacji. Ale ponieważ nie ma Celu wdrożenia w celu zbudowania testu jednostkowego, nie można go tam ustawić. Zamiast tego musisz ustawić Cel testów jednostkowych (na karcie Ogólne) w aplikacji, której docelowym miejscem wdrożenia jest 7.0. Możesz skonfigurować "TestApp", aby to zrobić, aby nie musieć ograniczać wdrażania głównej aplikacji.

0

Miałem dokładnie ten sam problem, chociaż mój serwer CI został skonfigurowany z Xcode 5.1.1 i iOS 7.1. Próbowałem wielu parametrów, w końcu prawy był -destination.

Oto przykład pełnego polecenia:

xcodebuild -workspace MyApp.xcworkspace -sdk iphonesimulator7.1 -destination "platform=iOS Simulator,name=iPhone Retina (4-inch)" -scheme MyAppTests test 

Działa również z xctool 0.1.16.

Kredyty: http://www.mokten.com/2014/04/xcodebuild-unit-tests-library-not-loaded-no-image-found/

Jeden szczegół, który może wyjaśniać dlaczego musiałem dodać -destination param, jest to, że mam zarówno iOS 6 i 7.1 SDK zainstalowane. Nie sprawdziłem, co się stanie, jeśli usunę jednak iOS 6 SDK.

HTH

Powiązane problemy