Avertissement de chemin de recherche de la bibliothèque Xcode 7

117

Voici l'avertissement qu'il affiche:

répertoire introuvable pour l'option '-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks' "

Quelqu'un peut-il aider à résoudre l'avertissement?

arwaz shaikh
la source
1
Cette réponse m'a corrigé cette erreur: stackoverflow.com/questions/26665196/…
fpr0001
@arwaz shaikh N'oubliez pas de marquer ma réponse comme la bonne réponse (si vous pensez qu'elle répond correctement à votre question), cela pourrait aider les gens à la trouver plus rapidement via Google ou Stack Overflow.
King-Wizard

Réponses:

225

Voici comment j'ai résolu ce problème

Suite à une migration de mon projet Xcode, de Xcode 6.4 vers Xcode 7, je reçois le message d'avertissement ci-dessous (après compilation) pour la cible Test :

directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

En fait, j'ai trouvé quelque chose en comparant un nouveau projet à un plus ancien ...

Dans l'ancien projet, l'avertissement n'était produit que par la cible de test de mes projets. Sous 'Search Paths' , j'ai trouvé qu'il incluait deux éléments sous 'Framework Search Paths' :

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

Le nouveau projet a gardé les «Chemins de recherche du cadre» vides.

La suppression de ces entrées dans mon ancien projet a ensuite supprimé l'avertissement.

Remarques:

Je n'ai pas comparé de manière exhaustive les paramètres, il peut donc y avoir des différences supplémentaires.

Aussi, juste au cas où un jour vous rencontriez à nouveau l'un des deux messages d'avertissement suivants , rappelez-vous simplement que vous devrez le faire: si l'avertissement concerne l'option '-L/...'qui est Chemins de recherche de bibliothèque, supprimez le contenu. Cependant, si l'avertissement concerne l'option '-F/...'qui est les chemins de recherche du cadre, supprimez les éléments qui s'y trouvent.

Roi-sorcier
la source
2
Ce qui précède est correct. Cependant, si vous utilisez CocoaPods, j'ai trouvé qu'il est également possible que l'entrée réside dans les fichiers * .xcconfig qu'elle crée. La solution est identique: supprimez-le, dans ce cas, de la ligne FRAMEWORK_SEARCH_PATHS dans votre (vos) fichier (s) * .xcconfig.
écotaxe
2
J'ai exactement le même problème (-F / ...) et j'ai déjà supprimé le contenu dans les chemins de recherche du cadre, mais l'avertissement s'affiche toujours.
Gabe12
4
Nettoyez et reconstruisez le projet Xcode et le message d'avertissement devrait disparaître.
King-Wizard
1
Je n'utilisais pas la cible de test et j'ai fini par devoir la supprimer pour la construire.
theLastNightTrain
King-Wizard a la bonne réponse, mais plus précisément, vous devez aller dans les `` Paramètres de construction ''> `` Chemins de recherche ''> `` Chemins de recherche du cadre ''
pyRabbit
19

Sur la base du message d'erreur, il semble que la première chose à faire est de redresser le chemin de la cible. Vous pouvez modifier les chemins comme indiqué dans les réponses à cette question StackOverflow . Assurez-vous de vérifier le chemin de toutes vos cibles si vous n'êtes pas sûr de la cause de l'erreur - cela m'a dérangé un peu après la mise à niveau d'un projet vers la version bêta de Xcode 7; il y avait un chemin dans FRAMEWORK_SEARCH_PATHS pour la cible de test qui devait être supprimé. Le chemin qui s'y trouvait était exactement le chemin sur lequel vous signalez avoir reçu l'avertissement; la suppression du chemin l'a éliminé.

Dave Ruske
la source
16

King-Wizard est essentiellement correct, pour élaborer un peu plus -

Xcode 7 recherche votre framework de test XCtest.frameworkdans un chemin qui n'existe pas. Le chemin défini par $(SDKROOT)/Developer/Library/Frameworkssous «Search Paths -> Framework Search Paths» recherche le framework dans /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworkslequel n'est pas un chemin valide. Vous pouvez supprimer la ligne $(SDKROOT)/Developer/Library/Frameworkspour supprimer l'erreur et toujours pouvoir exécuter des tests.

Le chemin correct vers 'XCTest.framework' est /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworkspour ceux qui sont curieux.

J'espère que cela aide.

Eric Murphey
la source
1

J'ai eu la même erreur avec Xcode 9.2 et voici mes solutions sans faire à la main:

  1. Cliquez sur votre projet dans Project Navigator
  2. Accédez aux cibles et cliquez sur MyProjectNameTest
  3. Cliquez sur Build Settings et recherchez " Framework Search Paths "
  4. Sous Chemins de recherche du cadre , supprimez les chemins et conservez le «$ (inherited)».

entrez la description de l'image ici

Pour ceux d'entre vous qui ont l'erreur suivante:

répertoire introuvable pour l'option '-L /…

cela signifie qu'il s'agit d'une erreur de bibliothèque, vous pouvez donc essayer de suivre les étapes ci-dessous:

  1. Cliquez sur votre projet (cibles)
  2. Cliquez sur Build Settings, recherchez "Library Search Paths"
  3. Sous Chemins de recherche de la bibliothèque, supprimez les chemins et conservez le "$ (hérité)"
Jorge Casariego
la source