Xcode: ¿que es $ (SRCROOT)?


115

Estoy viendo un proyecto de Xcode que usa algunas bibliotecas. El proyecto se creó en una computadora diferente, así que necesito actualizar algunas rutas. Todas las rutas de búsqueda de la biblioteca comienzan con $(SRCROOT). Qué significa eso?


Respuestas:


147

Es la ruta al directorio que contiene el proyecto Xcode.


Lo extraño es que cuando veo las rutas en la configuración de compilación, todas comienzan con / Users / stevew. Cuando hago doble clic para obtener la vista detallada de esa configuración, todos comienzan con $ (SRCRoot). Pero no hay un directorio / Users / stevew en mi computadora. Entonces, ¿de alguna manera quedó bloqueado en la ubicación en la otra computadora?
William Jockusch

Probablemente alguien definió SRCROOT usando una ruta absoluta; por lo general, es un directorio raíz conveniente para todas las fuentes en su proyecto, pero no debería ser una ruta absoluta a menos que solo tenga una máquina de desarrollo.
Paul R

Agregando a su respuesta, es el directorio del XcodeProject local, por lo que si tiene MailCore en su proyecto, SRCROOT de MailCore es el directorio donde abre el Proyecto MailCore. XCode tiene este problema de usabilidad en el que no puede desplazarse hacia la derecha en la pantalla de configuración del proyecto, por lo que si tiene una ruta larga, no podrá decir esto, por lo que agrego a esta respuesta para aquellos con nombres de biblioteca largos. Gracias mipadi por la respuesta principal.
Stephen J

30
¿qué pasa PROJECT_DIR? ¿Cuál es la diferencia de SRCROOT?
Gon

No hagas preguntas en los comentarios; consulte la pregunta 36323031 en Stack Overflow.
SwiftArchitect


3

$(SRCROOT)(también conocido como $(SOURCE_ROOT)) es una ruta a su ubicación donde .xcodeprojestá a.

Es fácil de verificar, solo póngalo en un campo y Xcode le dará una sugerencia

ingrese la descripción de la imagen aquí

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.