41 votes

Xcode - SenTestingKit non trouvé

J'ai un problème qui est apparu lorsque j'ai mis à jour ma version de xcode. J'utilise des tests unitaires, et maintenant lorsque j'essaie d'importer SenTestingKit ( #import <SenTestingKit/SenTestingKit.h> ), j'obtiens cette erreur : SenTestingKit/SenTestingKit.h: No such file or directory .

J'ai regardé mes paramètres de construction, et j'ai les options de configuration suivantes :

== Linking ==
Other Linker Flags: -framework Foundation -framework SenTestingKit -framework UIKit
Prebinding: No

== Search Paths ==
Debug Configutation: "/iphonesimulator4.0/Developer/Library/Frameworks" "/Xcode4/Library/Frameworks"

J'ai vérifié /Xcode4/Library/Frameworks et le SenTestingKit.framework/ répertoire est là.

Alors, qu'est-ce que je rate ?

57voto

davidwu Points 609

J'ai eu ce même problème lors de la création d'un nouveau cas de test dans XCode. Cependant, cela était dû à la stupidité de ma sélection de la mauvaise cible lors de la création du scénario de test.

En utilisant "File New...", le scénario de test était inclus et compilé avec les paramètres de l'application cible au lieu de la cible du scénario de test. En vérifiant l'onglet Build Phases et en regardant dans la divulgation "Compile Sources", j'ai découvert mon problème particulier.

18voto

DougW Points 9027

J'ai eu ce problème après la mise à jour vers xcode 4.3. Rien ne semblait fonctionner jusqu'à ce que je tombe sur ce poste . J'avais déjà les mêmes chemins de recherche, mais le fait de changer l'ordre a résolu le problème.

D'après l'article, vous avez besoin des deux valeurs suivantes dans les chemins de recherche de votre Framework, dans cet ordre .

$(SDKROOT)/Developer/Library/Frameworks
$(DEVELOPER_LIBRARY_DIR)/Frameworks

6voto

J'ai eu ce problème parce qu'il y a un espace dans mon installation Xcode : /Xcode 4.0.2

Je l'ai corrigé en ajoutant "${DEVELOPER_LIBRARY_DIR}/Frameworks" (avec les guillemets) à mes chemins de recherche de cadre.

1voto

Stuart Carnie Points 2961

Pour mes chemins de recherche de cadre, j'ai explicitement ajouté /$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/Developer/Library/Frameworks . Compile correctement pour le simulateur et le dispositif.

Je suis sûr qu'il existe des variables d'environnement pour que cela fonctionne entre les différentes versions du SDK, je mettrai donc à jour la réponse si je les trouve.

screenshot

1voto

valexa Points 2475

Pour éclaircir ce point une fois pour toutes, il existe trois cadres SenTestingKit dans Xcode SDK, un pour OS X, un pour iOS et un pour le simulateur.

Si vous aviez lancé "lipo -info" sur eux, vous auriez vu que

Architectures dans le fichier gras : /Developer/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKit sont : x86_64 i386

Architectures dans le fichier gras : /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit est architecture : armv7

Fichier non gras : /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit est architecture : i386

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X