Duplicar y renombrar el proyecto Xcode y las carpetas asociadas

Me gustaría poder duplicar un proyecto completo de Xcode, renombrar el proyecto y los archivos asociados sin Xcode going men y sin tener que volver a importar manualmente todos los archivos al proyecto.

Esta respuesta es la culminación de varias otras publicaciones y tutoriales de StackOverflow en Internet traídos a un lugar para mi futura referencia, y para ayudar a cualquier otra persona que pueda estar enfrentando el mismo problema. Todo el crédito se da para otras respuestas al final.

Duplicar un proyecto de Xcode

  • En el Finder, duplica la carpeta del proyecto a la ubicación deseada de tu nuevo proyecto. No cambie el nombre del archivo .xcodeproj o cualquier carpeta asociada en esta etapa.

  • En Xcode, cambie el nombre del proyecto. Seleccione su proyecto desde el panel del navegador (panel izquierdo). En el panel Utilidades (panel derecho) cambie el nombre de su proyecto, acepte los cambios que Xcode propone.

  • En Xcode, cambie el nombre de los esquemas en “Administrar esquemas”, también cambie el nombre de los objectives que pueda tener.

  • Si no está utilizando el Identificador de paquete predeterminado que contiene el actual PRODUCT_NAME al final (por lo tanto, se actualizará automáticamente), cambie su Identificador de paquete por el nuevo que va a utilizar para su proyecto duplicado.

Cambiar el nombre de la carpeta de origen

Entonces, después de seguir los pasos anteriores, debe tener un proyecto Xcode duplicado y renombrado que debe comstackr y comstackr con éxito, sin embargo, su carpeta de código fuente seguirá siendo nombrada como lo era en el proyecto original. Esto no causa ningún problema en el comstackdor, pero no es la estructura de archivos más clara para que las personas naveguen en SCM, etc. Para cambiar el nombre de esta carpeta sin romper todos los enlaces a sus archivos, siga estos pasos:

  • En el Finder, cambie el nombre de la carpeta de origen. Esto romperá su proyecto, porque Xcode no detectará automáticamente los cambios. Todos sus listados de archivos xcode perderán sus enlaces con los archivos reales, por lo que todos se volverán rojos.

  • En Xcode, haga clic en la carpeta virtual a la que cambió el nombre (Es probable que esté justo en la parte superior, justo debajo de su proyecto real .xcode) Cambie el nombre para que coincida con el nombre en el Finder, esto no solucionará nada y estrictamente no es paso requerido, pero es bueno tener los nombres de los archivos coincidentes.

  • En Xcode, seleccione la carpeta que acaba de renombrar en el panel de navegación. Luego, en el panel de Utilidades (extremo derecho) haz clic en el ícono que parece una carpeta de color gris oscuro, justo debajo del menú desplegable “Ubicación”. Desde aquí, vaya a la carpeta cuyo nombre se haya cambiado en el buscador y haga clic en ‘Elegir’. Esto volverá a asociar automágicamente todos sus archivos, y ya no aparecerán rojos en el panel de navegación de Xcode.

Icono para hacer clic

  • En la configuración de comstackción de su proyecto / objective, busque el nombre de la carpeta anterior y cambie el nombre manualmente de las apariciones que encuentre. Normalmente hay uno para prefix.pch y otro para info.plist, pero puede haber más.

  • Si está utilizando bibliotecas de terceros (Testflight / Hockeyapp / etc), también deberá buscar ‘Rutas de búsqueda en la biblioteca’ y cambiar el nombre de las apariciones del antiguo nombre de archivo aquí.

  • Repita este proceso para cualquier carpeta de código fuente de prueba de unidad que su proyecto pueda contener, el proceso es idéntico.

Esto debería permitirle duplicar y cambiar el nombre de un proyecto xcode y todos los archivos asociados sin tener que editar manualmente ningún archivo xcode, y arriesgarse a ensuciarlo.

Créditos

Muchas gracias a Nick Lockwood y Pauly Glott por proporcionar las respuestas por separado a este problema.

  • Duplicar un proyecto XCode 4
  • Cambiar el nombre del proyecto xcode 4 y la carpeta real

Estoy publicando esto ya que siempre he tenido problemas al cambiar el nombre de un proyecto en XCode .

Renombrar el proyecto es bueno y simple, pero esto no cambia el nombre de la carpeta de origen. Aquí hay un paso a paso de lo que he hecho que funcionó muy bien en Xcode 4 y 5 gracias a los enlaces a continuación.

Enlaces REF:
Renombrar proyecto.
Cambiar el nombre de la carpeta de origen y otros archivos.

1- Haz una copia de seguridad de tu proyecto.

Si está utilizando git, realice los cambios necesarios, haga una copia de la carpeta completa del proyecto y haga una copia de seguridad en la máquina del tiempo antes de realizar cambios (este paso no es obligatorio, pero lo recomiendo encarecidamente).

2- Abre tu proyecto.

3- Haga doble clic o presione enter en el nombre del proyecto (icono superior azul) y cambie el nombre a lo que quiera.

NOTA: Después de cambiar el nombre del proyecto y presionar ‘enter’, sugerirá cambiar automáticamente todas las entradas relacionadas con el nombre del proyecto y le permitirá anular la selección de algunas de ellas, si así lo desea. Seleccione todos y haga clic en Aceptar.

4- Renombrar el esquema

a) Haga clic en el menú que se encuentra junto al botón de detención y seleccione Administrar esquemas.

b) Haga clic con el botón lento o presione enter en el esquema de nombre anterior y cámbiele el nombre a lo que quiera.

c) Haga clic en Aceptar.

5 – Cree y ejecute para asegurarse de que funcione.

NOTAS: En este punto, todos los archivos importantes del proyecto deben renombrarse excepto los comentarios en las clases creadas cuando se creó el proyecto ni la carpeta de origen. A continuación cambiaremos el nombre de la carpeta en el sistema de archivos.

6- Cerrar el proyecto.

7- Cambiar el nombre de la carpeta principal y de la fuente.

8- Haga clic con el botón derecho en el archivo del proyecto .xcodeproj y seleccione “Mostrar contenido del paquete” en el menú contextual. Abra el archivo .pbxproj con cualquier editor de texto.

9- Busque y reemplace cualquier aparición del nombre de la carpeta original con el nuevo nombre de la carpeta.

10- Guarde el archivo.

11- Abre el proyecto XCode, pruébalo.

12- Hecho.

A partir de XCode 7 esto se ha vuelto mucho más fácil.

Apple ha documentado el proceso en su sitio: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html

Actualización: enlace de XCode 8: http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f

Yo uso Xcode 6+ y simplemente hago:

  • Copie todos los archivos en las carpetas del proyecto a carpetas nuevas (con un nombre nuevo).
  • Abrir *.xcodeproj or *.xcworkspace
  • Cambiar el nombre del proyecto
  • Haga clic en el esquema y elimine el chema actual y agregue uno nuevo.

Aquí se hace, pero el nombre de la ventana Xcode y *.xcodeproj or *.xcworkspace todavía . Entonces lo hago:

  • pop install
  • Abra .xcworkspace

¡Una cosa más para probar!

Cuando copié todos mis archivos, abrí el proyecto y lo renombré, ¡todo cambió a mi nuevo nombre de proyecto, excepto el objective de prueba! Obtuve un error del enlazador que decía que me faltaba un archivo llamado “myOldProjectname.app”. Esto es lo que lo solucionó:

  1. Haga clic en la configuración de su proyecto y seleccione su objective de prueba enter image description here

  2. Haga clic en configuración de comstackción y busque “host de prueba” enter image description here

  3. Verifique esas 2 rutas de archivos. Lo más probable es que esas 2 rutas sigan apuntando a su antiguo nombre de proyecto. enter image description here

¡Espero que ayude!

Estoy usando este script después de cambiar el nombre de mi proyecto de iOS. Ayuda a cambiar el nombre de los directorios y hacer que los nombres estén sincronizados.

http://github.com/ytbryan/rename

NOTA: deberá cambiar manualmente el nombre del esquema.

Para cualquier otra persona que tenga problemas con los lockings del guión gráfico después de copiar su proyecto, diríjase a Main.storyboard en Identity Inspector.

Luego, verifique que su módulo actual sea el módulo correcto renombrado y no el anterior.

En el código de ejemplo del libro “Instant OpenCV para iOS” , he encontrado un script bash que copia un proyecto de una carpeta a otra.
Haciendo un poco de investigación, he encontrado una publicación de blog de lo que parece ser el autor original del guión: http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html , donde puedes descargar el guion Lo intenté y lo ejecuté desde una terminal como esta

  sh renameXcodeProject.sh   

funciona bien.
Se puede encontrar información adicional abriendo el archivo con un editor de texto. Espero que ayude

Estoy usando un script BASH simple para cambiar el nombre.

Uso: ./rename.sh oldName newName

 #!/bin/sh OLDNAME=$1 NEWNAME=$2 export LC_CTYPE=C export LANG=C find . -type f ! -path ".*/.*" -exec sed -i '' -e "s/${OLDNAME}/${NEWNAME}/g" {} + mv "${OLDNAME}.xcodeproj" "${NEWNAME}.xcodeproj" mv "${OLDNAME}" "${NEWNAME}" 

Notas:

  1. Este script ignorará todos los archivos como .git y .DS_Store
  2. No funcionará si el nombre antiguo / nuevo nombre contiene espacios
  3. Puede no funcionar si usa pods (no probado)
  4. El nombre del esquema no se cambiará (de todos modos el proyecto se ejecuta y comstack normalmente)