2012-02-12 17 views
9

No está loco por la forma en que Xcode 4.2 ha establecido los archivos en el disco. Crea un archivo de proyecto, luego una sola subcarpeta al lado que tiene todo el código. Queremos que el archivo del proyecto esté en la misma carpeta, luego el archivo del espacio de trabajo (si existe) para ser el hermano de la carpeta. Hace más diseños portátiles.¿Cómo mueves un archivo de proyecto de Xcode 4.2 a otra carpeta?

Sin embargo, no puedo SUBIR la falta de Guardar como en Lion, y ahora, aparentemente también Xcode 4.2. Al menos con TextEdit acabo de tomar la versión de SL y funciona. No hay tanta suerte con Xcode como sabes, es un animal completamente diferente a Xcode 3.x.

Entonces ... ¿cómo se mueve/renombra el archivo del proyecto en relación con el código fuente?

+0

Supongo que no desea hacer esto manualmente en el Finder. Porque puede si realmente necesita mover los archivos. –

+1

En realidad, no puedes. Si mueve el proyecto, todas las referencias a los archivos están rotas, pero incluso si las arregla todas manualmente, la configuración de compilación aún está totalmente modificada. Incluso intentar arreglarlos manualmente en la cuadrícula de configuración de compilación no soluciona todo. Los caminos antiguos todavía se pasan al compilador. – MarqueIV

+0

La solución (es decir, hack/workaround) que se me ocurrió fue simplemente eliminar todas las referencias a los archivos en el proyecto, cerrarlo, reorganizarlos en el buscador, volver a abrir el proyecto, luego agregar manualmente todos los archivos, corrigiendo la construcción configuración según sea necesario. No fue tan malo ya que solo tengo unos 40 archivos, pero es ridículo que no haya un comando de 'Guardar como'. Apple realmente jodió al perro con ese cambio en Lion. Uno de sus errores más grandes. Lion para mí es el momento de 'Vista' de Apple. – MarqueIV

Respuesta

16

Aquí es cómo lo hace (estoy usando en Xcode 4.3):

En primer lugar, mover el archivo de proyecto
1. Comenzar a cabo mediante el cierre del proyecto de Xcode 1. Mover ProjectName.xcodeproj en la carpeta con todo el código
1. Abra el proyecto de XCode haciendo clic ProjectName.xcodeproj

en segundo lugar, re-map sus archivos
1. Yo u no es necesario volver a asignar los archivos uno por uno, sólo es necesario para mapear los grupos
1. Abrir el archivo "Inspector" con ⌥⌘1 o View->Utilities->Show File Inspector
1. Haga clic en cada grupo, a continuación, haga clic en el icono cuadrado (ver imagen a continuación) y seleccione la carpeta del archivo de proyecto está en

Icono para hacer clic en:.. enter image description here

"Ninguno" se mostrará cuando se elige la misma carpeta del archivo .xcodeproj está en

Conclusión:
Tengo un proyecto grande que contiene ~ 650 archivos, pero solo 12 grupos, por lo que solo lleva unos minutos volver a mapear todo.

Nota:
A veces, cuando la cartografía de los archivos que no reconoce un cambio carpeta si el nombre es el mismo (es decir, dos carpetas con el mismo nombre.). Es posible que tenga que elegir cualquier otra carpeta temporalmente, luego elija la carpeta del proyecto real y aparecerá el indicador None.

+0

Como comenté anteriormente, no es exactamente lo que quería, pero esto funcionará, con la única advertencia de que su solución solo funciona si los grupos (y cualquier hermano de archivo, que olvidó mencionar) tienen su configuración de relatividad configurada para el proyecto. Sin embargo, creo que voy a escribir una utilidad que haga esto por ti. Aún así, como dije, esto es lo más cercano a una respuesta real para que pueda obtener el voto. – MarqueIV

+1

"Relativo al grupo" es el valor predeterminado para todos los archivos en un proyecto XCode. No creo que deba cambiar esto alguna vez, ya que hace que este tipo de cosas sea mucho más difícil. – bentford

+0

En el caso de las bibliotecas de códigos compartidos que están fuera del proyecto, absolutamente tiene que hacer esto. No cambiarlo funciona bien para proyectos simples, pero cuando se sube a productos mucho más grandes-arquitectos que tenemos (y por qué quería cambiar este comportamiento en la pregunta) se convierte en una necesidad. – MarqueIV

Cuestiones relacionadas