Advertencia de ruta de búsqueda de la biblioteca Xcode 7

117

Esta es la advertencia que muestra:

directorio no encontrado para la opción '-F / Applications / Xcode-beta.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS9.0.sdk / Developer / Library / Frameworks' "

¿Alguien puede ayudar a resolver la advertencia?

arwaz shaikh
fuente
1
Esta respuesta me solucionó este error: stackoverflow.com/questions/26665196/…
fpr0001
@arwaz shaikh No olvides marcar mi respuesta como la respuesta correcta (si crees que responde correctamente a tu pregunta), podría ayudar a las personas a encontrarla más rápidamente a través de Google o Stack Overflow.
King-Wizard

Respuestas:

225

Así es como solucioné este problema

Después de una migración de mi proyecto Xcode, de Xcode 6.4 a Xcode 7, recibo el siguiente mensaje de advertencia (después de la compilación) para el objetivo de prueba :

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

De hecho, encontré algo al comparar un nuevo proyecto con uno anterior ...

En el proyecto anterior, la advertencia solo la producía el objetivo de prueba de mis proyectos. En 'Rutas de búsqueda' , encontré que incluía dos elementos en 'Rutas de búsqueda de marco' :

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

El nuevo proyecto mantuvo las 'Rutas de búsqueda del marco' vacías.

Eliminar esas entradas en mi proyecto anterior y luego eliminó la advertencia.

Notas:

No he comparado de forma exhaustiva la configuración, por lo que puede haber diferencias adicionales.

Además, en caso de que un día vuelva a encontrar uno de los dos siguientes mensajes de advertencia , recuerde que tendrá que hacer eso: si la advertencia es para la opción '-L/...'que es Rutas de búsqueda de biblioteca, elimine el material allí. Sin embargo, si la advertencia es para la opción '-F/...'que es Framework Search Paths, elimine las cosas allí.

Rey Mago
fuente
2
Lo anterior es correcto. Sin embargo, si usa CocoaPods, descubrí que también es posible que la entrada resida en los archivos * .xcconfig que crea. La solución es idéntica: elimínela, en este caso de la línea FRAMEWORK_SEARCH_PATHS en su (s) archivo (s) * .xcconfig.
Ecotasa
2
Tengo exactamente el mismo problema (-F / ...) y ya eliminé las cosas en Framework Search Paths, pero la advertencia sigue apareciendo.
Gabe12
4
Limpia y reconstruye el proyecto Xcode y el mensaje de advertencia debería desaparecer.
King-Wizard
1
No estaba usando el objetivo de prueba y terminé teniendo que eliminarlo para que se compile.
theLastNightTrain
King-Wizard tiene la respuesta correcta, sin embargo, más específicamente, debe ingresar a la 'Configuración de compilación'> 'Rutas de búsqueda'> 'Rutas de búsqueda de marco'
pyRabbit
19

Según el mensaje de error, parece que la primera orden del día es enderezar el camino del objetivo. Puede editar las rutas como se muestra en las respuestas a esta pregunta de StackOverflow . Asegúrese de verificar la ruta de todos sus objetivos si no está seguro de cuál está generando el error; esto me desconcertó un poco después de actualizar un proyecto a la versión beta de Xcode 7; había una ruta en FRAMEWORK_SEARCH_PATHS para el objetivo de prueba que debía eliminarse. El camino que estaba allí era exactamente el camino en el que informó que recibió la advertencia; quitar el camino lo eliminó.

Dave Ruske
fuente
16

King-Wizard es esencialmente correcto, para elaborar un poco más:

Xcode 7 está buscando su marco de prueba XCtest.frameworken una ruta que no existe. La ruta establecida $(SDKROOT)/Developer/Library/Frameworksen 'Rutas de búsqueda -> Rutas de búsqueda de marco' busca el marco en el /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/Developer/Library/Frameworksque no es una ruta válida. Puede eliminar la línea $(SDKROOT)/Developer/Library/Frameworkspara eliminar el error y aún poder ejecutar pruebas.

La ruta correcta a 'XCTest.framework' es /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworkspara aquellos que son curiosos.

Espero que eso ayude.

Eric Murphey
fuente
1

Tuve el mismo error con Xcode 9.2 y aquí están mis soluciones sin hacerlo a mano:

  1. Haga clic en su proyecto en Project Navigator
  2. Vaya a los objetivos y haga clic en MyProjectNameTest
  3. Haga clic en Build Settings y busque " Framework Search Paths "
  4. En Rutas de búsqueda de marco , elimine las rutas y mantenga el "$ (heredado)".

ingrese la descripción de la imagen aquí

Para aquellos de ustedes que tienen el siguiente error:

directorio no encontrado para la opción '-L /…

eso significa que es un error de biblioteca, por lo que puede intentar seguir los pasos a continuación:

  1. Haga clic en su proyecto (objetivos)
  2. Haga clic en Configuración de compilación, busque "Rutas de búsqueda de bibliotecas"
  3. En Rutas de búsqueda de la biblioteca, elimine las rutas y mantenga el "$ (heredado)"
Jorge Casariego
fuente