2013-09-24 13 views
30

Ho provato ad aggiungere un target di test su Xcode 5 utilizzando il comando Aggiungi target -> Aggiungi gruppo di test Cocoa Touch Unit. Tuttavia, quando si esegue il test, ottengo il seguente errore:Xcode 5 genera l'errore "Libreria non caricata" quando si aggiunge un target di test

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

Perché non è questo lavoro?

risposta

76

È necessario eseguire il test sul simulatore iOS 7. Non funzionerà su iOS 6.x.

+0

Hai appena fatto la mia giornata. – shawnwall

+0

felice di poter aiutare :) Penso che alla fine capiterà a qualcuno –

+0

Grande tutto viene compilato e ora funziona, tranne che i miei test XCTest non sembrano funzionare. I triangoli verdi accanto ai test OCUnit sono vuoti accanto ai test XCTest. –

2

Ho risolto questo problema impostando la scheda Generale -> Destinazione di distribuzione su 7.0 (per l'app che si sta utilizzando per "eseguire" i test delle unità). Questo non è fantastico se vuoi supportare prima di 7.0 per la tua app principale. Ma dal momento che non vi è alcun obiettivo di distribuzione sul bersaglio di costruzione del test dell'unità, non è possibile impostarlo lì. Devi invece impostare il Target dei test unitari (nella scheda Generale) sull'App il cui obiettivo di distribuzione è 7.0. È possibile impostare una "TestApp" per fare questo in modo da non dover limitare la distribuzione dell'app principale.

0

Ho avuto lo stesso problema anche se il mio server CI è stato configurato con Xcode 5.1.1 e iOS 7.1. Ho provato molti parametri, infine quello giusto era -destination.

Ecco un esempio di un comando completo:

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

Funziona anche con xctool 0.1.16.

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

Un dettaglio che possono spiegare il motivo per cui ho dovuto aggiungere il -destination param, è che ho sia per iOS 6 e 7.1 SDK installati. Non ho ancora controllato cosa succede se cancello l'SDK di iOS 6.

HTH

Problemi correlati