¿Cómo cambio el nombre completo de un proyecto Xcode (es decir, incluidas las carpetas)?

471

Tengo un proyecto llamado XXX. Quiero cambiar el nombre de este proyecto a YYY.

Tenga en cuenta que XXXes un término extremadamente común (por ejemplo, "datos" o simplemente "proyecto") y, por lo tanto, no es posible una simple búsqueda y reemplazo de RegEx, sin riesgo de corromper los archivos de configuración del proyecto.

Mi directorio actual del proyecto contiene los siguientes elementos:

  • XXX
  • XXXTests
  • XXX.xcodeproj

y quiero cambiarles el nombre a:

  • YYY
  • YYYTests
  • YYY.xcodeproj

... respectivamente, con los cambios necesarios reflejados en mi archivo de proyecto.

¿Cómo puedo lograr esto sin tener que crear y completar manualmente un nuevo proyecto?


Editar: es absolutamente ridículo que esta se haya convertido en mi pregunta más votada.

Vatsal Manot
fuente
Posible duplicado del proyecto Rename xcode
Ron Myschuk
1
También preguntado y respondido aquí stackoverflow.com/questions/17744319/... con 200 votos en la respuesta
Ron Myschuk
1
también preguntó y respondió aquí stackoverflow.com/questions/8262613/... con 189 votos
positivos,
Si solo desea cambiar el nombre del icono de la aplicación, consulte esta respuesta stackoverflow.com/questions/238980/…
LYu

Respuestas:

1021

Paso 1 - Cambiar el nombre del proyecto

  1. Haga clic en el proyecto que desea cambiar de nombre en el "Navegador de proyectos" en el panel izquierdo de la ventana de Xcode.
  2. En el panel derecho, seleccione el "Inspector de archivos", y el nombre de su proyecto se debe encontrar en "Identidad y tipo". Cámbialo a tu nuevo nombre.
  3. Cuando el cuadro de diálogo le pregunte si desea cambiar el nombre de los elementos de contenido del proyecto o no, haga clic en "Cambiar nombre".

Paso 2 - Cambiar el nombre del esquema

  1. En la parte superior de la ventana, junto al botón "Detener", hay un esquema para su producto con su nombre anterior; haga clic en él, luego elija "Administrar esquemas ...".
  2. Haga clic en el nombre antiguo en el esquema y se volverá editable; cambie el nombre y haga clic en "Cerrar".

Paso 3: cambie el nombre de la carpeta con sus activos

  1. Salga de Xcode.
  2. En la carpeta maestra correctamente nombrada, hay un archivo .xcodeproj recientemente nombrado con la carpeta OLD mal nombrada. Cambie el nombre de la carpeta ANTIGUA a su nuevo nombre (si usa Git, podría ejecutar git mv oldname newnamepara que Git reconozca que esto es un movimiento, en lugar de eliminar / agregar nuevos archivos).
  3. Vuelva a abrir el proyecto en Xcode y verá una advertencia "La carpeta OLD no existe"; Descartar la advertencia.
  4. En el "Navegador de proyectos" en el panel izquierdo, haga clic en la carpeta ANTIGUA de nivel superior.
  5. En el panel de la derecha, en "Identidad y tipo", cambie el campo "Nombre" del nombre ANTIGUO al nombre nuevo.
  6. Justo debajo de ese campo hay un menú "Ubicación". Haga clic en el icono de la carpeta cercana y elija la carpeta renombrada.

Paso 4: cambie el nombre de los datos de compilación

  1. Haga clic en el proyecto en el "Navegador de proyectos" a la izquierda, y en el panel principal seleccione "Configuración de compilación".
  2. Busque "plist" en la configuración.
  3. En la sección Empaque, verá Info.plisty Product Bundle Identifier.
  4. Si hay un nombre ingresado Info.plist, actualícelo.
  5. Haz lo mismo para Product Bundle Identifier.
  6. Si usa SwiftUI, busque "Recursos de desarrollo" y actualice la ruta.

Paso 5: repita el paso 3 para las pruebas (si las tiene)

Paso 6: repita el paso 3 para los datos principales si su nombre coincide con el nombre del proyecto (si lo tiene)

Paso 7 - Reconstruye tu proyecto

  1. Command+ Shift+ Kpara limpiar
  2. Command+ Bpara construir
Luke West
fuente
55
Puede cambiar el nombre del proyecto pero los nombres de las carpetas siguen siendo los mismos. ¿Sabes cómo cambiarlos?
Coder221
55
¡Gracias! para Xcode 8, el archivo de derechos debe renombrarse manualmente.
Jiulong Zhao
54
Al hacer el paso 3 parte 2 (cambiar el nombre de la carpeta), si está usando git, le recomiendo git mv oldname newnameque de esa manera git reconozca que fue un movimiento, no eliminar y agregar todos sus archivos.
Aaron Ash el
14
perfecto, funciona perfectamente en Xcode 8.2, solo una cosa para señalar aquí mientras edita el esquema si hacer clic en el nombre del esquema una vez no lo hace editable, luego seleccione el esquema y presione la tecla de retorno para que el nombre del esquema sea editable.
Khurram Shehzad
55
No olvide buscar y reemplazar otras instancias de su antiguo nombre de proyecto.
Derek Soike
194

Para agregar a la excelente respuesta de @ luke-west:

Cuando use CocoaPods

Después del paso 2:

  1. Salga de XCode.
  2. En la carpeta maestra, cambie el nombre OLD.xcworkspacea NEW.xcworkspace.

Después del paso 4:

  1. En XCode: elija y edite Podfiledesde el navegador del proyecto. Debería ver una targetcláusula con el nombre VIEJO. Cámbielo a NUEVO.
  2. Salga de XCode.
  3. En la carpeta del proyecto, elimine el OLD.podspecarchivo.
  4. rm -rf Pods/
  5. Ejecutar pod install.
  6. Abrir XCode.
  7. Haga clic en el nombre de su proyecto en el navegador de proyectos.
  8. En el panel principal, cambie a la Build Phasespestaña.
  9. Debajo Link Binary With Libraries, búsquelo libPods-OLD.ay elimínelo.
  10. Si tiene un encabezado Bridging de objetivo-c, vaya a Configuración de compilación y cambie la ubicación del encabezado de OLD / OLD-Bridging-Header.h a NEW / NEW-Bridging-Header.h
  11. Limpiar y correr.
Vaiden
fuente
77
Usando Xcode 8.3.2 tuve que usar cocoapods-desintegrate y reinstalar todos los pods para ejecutar el proyecto con el nuevo nombre.
SteffenK
2
@SteffenK ¿hay alguna diferencia entre ese método y rm -rf Pods /? ¿Considerando que has hecho todos los otros pasos?
Vaiden
1
¿Podría elaborar por favor? ¿Qué huellas?
Vaiden
2
@Vaiden, ¡muchas gracias por la claridad adicional al trabajar con CocoaPods! El proceso creó una segunda referencia, lo cual era extraño, ¡pero después de eliminarlo todo funcionaba perfectamente! ¡Gracias de nuevo! :)
Matt Swift
44
¿Podría alguien decirme dónde puedo encontrar el archivo OLD.podspec que se menciona en esta respuesta? En mi proyecto obtuve algunos archivos como 'Podfile' / 'Podfile.lock' / 'Pods.xcodeproj' y obtuve una carpeta vacía llamada 'Local Podspecs', pero no puedo encontrar un archivo
.podspec
51

Una solución más rápida utilizando comandos de shell (también funciona con CocoaPods):

POR FAVOR cdA UN REPOSITORIO NO GIT ANTES DE CONTINUAR ⚠️

Paso 1 - Requisitos previos

  1. Copie su carpeta de proyecto original a un archivo temporal /NewProjectFolder FUERA de su repositorio git. Changes️ cambios en .git podrían corromper tu índice git 💥 ☠

Paso 2 - Abrir terminal

Ahora vamos a cambiar el nombre del proyecto de oldNamea NewProject.

  • Cierra XCode.
  • Ve a tu /NewProjectFolder.
cd /Path/to/your/NewProjectFolder
  • Instale las herramientas adicionales necesarias.
brew install rename ack
  • Cambie el nombre de los archivos y directorios que contienen la cadena de origen. Tendrá que EJECUTAR ESTE COMANDO DOS VECES , porque los directorios se renombrarán primero, luego los archivos y directorios dentro de ellos se renombrarán en la próxima iteración.
find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject'
  • Compruebe si todos los archivos que contienen la cadena de origen cambian de nombre. Deberías ver una salida vacía.
find . -name 'oldName*'
  • Reemplace todas las apariciones de la cadena en todos los archivos.
ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g'
  • Compruebe si todas las apariciones de la cadena en todos los archivos fueron reemplazadas. Deberías ver una salida vacía.
ack --literal 'oldName'
  • correr pod install
  • Añadir NewProjectFoldera su repositorio.
  • ¡Estás listo!
Pietro Basso
fuente
3
Gracias por esto lo encontré útil. Al copiar y pegar comandos como este, prefiero que el trabajo se pueda minimizar, por lo que un nombre de ejemplo "YourNewAmazingProjectName" es excesivo, solo use "ejemplo" ya que prolonga la vida útil de mi clave de eliminación.
LpLrich
1
@LpLrich gracias por su sugerencia, acabo de actualizar mi respuesta.
Pietro Basso
Se cambió el nombre de la carpeta principal pero no veo ningún otro directorio o archivo renombrado, ¿alguna sugerencia?
Ethan Parker
2
@EthanParker necesita ejecutar find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'ExampleName'dos veces, los archivos y directorios dentro de las carpetas principales se renombrarán en la segunda iteración.
Pietro Basso
1
Usé coreData en mi proyecto y tuve que ejecutar este comando no dos veces sino tres veces.
ShadeToD
21

Hay un proyecto de GitHub llamado Xcode Project Renamer:

Debe ejecutarse desde la raíz interna del directorio del proyecto Xcode y llamarse con dos parámetros de cadena: $ OLD_PROJECT_NAME y $ NEW_PROJECT_NAME

El script revisa todos los archivos y directorios de forma recursiva, incluido el proyecto Xcode o el archivo del espacio de trabajo y reemplaza todas las apariciones de la cadena $ OLD_PROJECT_NAME con la cadena $ NEW_PROJECT_NAME (tanto en el nombre como en el contenido de cada archivo).

¡NO OLVIDES RESPALDAR TU PROYECTO!

Xcode Project Renamer

Olcay Ertaş
fuente
Esto no es útil para los principiantes, todo lo que hace es corromper mi archivo principal del proyecto y tampoco eliminar el script usando los comandos a continuación, termino por perder el tiempo. $ rm rename.swift
Peter Walter
Por favor, no sigas atajos.
Peter Walter
66
@ peter-walter siempre debe hacer una copia de seguridad de sus datos antes de tales operaciones.
Olcay Ertaş
Esto funcionó a las mil maravillas. Lo único que falta es que necesita ejecutar pod installdespués de ejecutar el script.
romin21
11

XCode 11.0+.

Es realmente simple ahora. Simplemente vaya al Project Navigatorpanel izquierdo de la ventana XCode.
Presione Enterpara activarlo para cambiar el nombre, al igual que cambia el nombre de la carpeta.
ingrese la descripción de la imagen aquí

Simplemente cambie el nuevo nombre aquí, y XCode le pedirá que cambie el nombre de otras cosas.

ingrese la descripción de la imagen aquí.

Toque Renameaquí y ya está.
Si está confundido acerca del nombre de su carpeta raíz porque no se ha cambiado, bueno, es solo una carpeta. acaba de renombrarlo con un nuevo nombre.
ingrese la descripción de la imagen aquí

Kiran Jasvanee
fuente
7

Para cambiar el nombre del proyecto;

  1. Seleccione su proyecto en el navegador de proyectos.

2.En la sección Identidad y tipo del inspector de archivos, ingrese un nuevo nombre en el campo Nombre.

3. Presione Retorno.

Aparece un cuadro de diálogo que enumera los elementos de su proyecto que pueden renombrarse. El cuadro de diálogo incluye una vista previa de cómo aparecerán los elementos después del cambio.

  1. Para cambiar el nombre de los elementos de forma selectiva, deshabilite las casillas de verificación de los elementos que no desee cambiar de nombre. Para renombrar solo su aplicación, deje la aplicación seleccionada y anule la selección de todos los demás elementos.

  2. Presione "Cambiar nombre"

Paal Aune
fuente
5

Instrucciones adicionales al seguir las soluciones de @ Luke-West + @ Vaiden:

  • Si su esquema no ha cambiado (todavía muestra mi mac) en la parte superior izquierda al lado del botón de parada:

    1. Haga clic en el nombre del proyecto creado NUEVAMENTE (junto al botón de detención)> haga clic en Editar esquemas> Construir (lado izquierdo)> Quite el objetivo anterior (dirá que falta) y reemplácelo con el proyecto NUEVO nombrado bajo el logotipo del proyecto NUEVO nombrado

Además, no tuve que usar el paso 3 de la solución de @ Vaiden. Simplemente ejecutando rm -rf Pods/en la terminal eliminé todos los archivos pod viejos

Tampoco tuve que usar el paso 9 en la solución de @ Vaiden, en su lugar, simplemente eliminé el marco OLD del proyecto VIEJO en Bibliotecas Binarias de Enlace (el NUEVO marco ya estaba allí)

Entonces los pasos actualizados serían los siguientes:

Paso 1 - Cambiar el nombre del proyecto

  1. Si está utilizando cocoapods en su proyecto, cierre el espacio de trabajo y abra el proyecto XCode para estos pasos.
  2. Haga clic en el proyecto que desea cambiar de nombre en el "Navegador de proyectos" a la izquierda de la vista de Xcode.
  3. A la derecha, seleccione el "Inspector de archivos" y el nombre de su proyecto debe estar allí debajo de "Identidad y tipo", cámbielo al nuevo nombre.
  4. Haga clic en "Cambiar nombre" en un menú desplegable

Paso 2 - Cambiar el nombre del esquema

  1. En la barra superior (cerca del botón "Detener"), hay un esquema para su producto VIEJO, haga clic en él y luego vaya a "Administrar esquemas"
  2. Haga clic en el nombre VIEJO en el esquema, y ​​será editable, cambie el nombre
  3. Salga de XCode.
  4. En la carpeta maestra, cambie el nombre de OLD.xcworkspace a NEW.xcworkspace.

Paso 3: cambie el nombre de la carpeta con sus activos

  1. Salir de Xcode
  2. En la carpeta maestra correctamente nombrada, hay un archivo xcodeproj recientemente nombrado con la carpeta OLD mal nombrada. Cambie el nombre de la carpeta ANTIGUA a su nuevo nombre
  3. Vuelva a abrir el proyecto, verá una advertencia: "La carpeta OLD no existe", descarte la advertencia
  4. En el "Navegador de proyectos" a la izquierda, haga clic en el nombre de la carpeta OLD de nivel superior
  5. En el panel de Utilidades, debajo de "Identidad y tipo", verá la entrada "Nombre", cambie esto de ANTIGUO al nuevo nombre.
  6. Justo debajo hay una entrada de "Ubicación". Haga clic en una carpeta con el nombre ANTIGUO y elija la carpeta recientemente renombrada

Paso 4: cambie el nombre de los datos de compilación

  1. Haga clic en el proyecto en el "Navegador de proyectos" a la izquierda, en el panel principal, seleccione "Configuración de compilación"
  2. Busque "plist" en esta sección. En el empaquetado, verá Info.plist e Identificador de paquete de productos.
  3. Cambie el nombre de la entrada superior en Info.plist
  4. Haga lo mismo para el Identificador del producto

Paso 5 Manejo de Podfile

  1. En XCode: elija y edite Podfile desde el navegador del proyecto. Debería ver una cláusula de destino con el nombre VIEJO. Cámbielo a NUEVO.
  2. Salga de XCode.
  3. En la terminal, cd en el directorio del proyecto, luego: rm -rf Pods/
  4. Ejecute la instalación de pod.
  5. Abrir XCode.
  6. Haga clic en el nombre de su proyecto en el navegador de proyectos.
  7. En el panel principal, cambie a la pestaña Fases de construcción. En Enlace binario con bibliotecas, busque el marco ANTIGUO y elimínelo (debería decir que falta) El marco RECIENTEMENTE nombrado ya debería estar allí, si no usa el botón "+" en la parte inferior de la ventana para agregarlo
  8. Si tiene un encabezado Bridging de objetivo-c, vaya a Configuración de compilación y cambie la ubicación del encabezado de OLD / OLD-Bridging-Header.h a NEW / NEW-Bridging-Header.h
  9. Limpiar y correr.

Debería poder construir sin errores después de haber seguido todos los pasos con éxito

itsmcgh
fuente
2
Para el Paso 5.3, en lugar de rm-rf Pods/una forma más limpia, es ejecutar pod deintegrateque elimina todos los rastros de CocoaPods de su proyecto Xcode pero deja intacto su Podfile.
jklapwyk
Esto gobierna. Me proporcionó la base para fusionar una aplicación Ionic con una aplicación iOS existente.
t4l
2

Además de todos los pasos recomendados por Luke y Vaiden, también tuve que cambiar el nombre de todas las propiedades de CustomModule en mi Storyboard para que coincida con el nuevo nombre, y esto debe ser sensible a mayúsculas y minúsculas.

CristianMoisei
fuente
1
¡La única persona que ha mencionado esto!
Fattie
1
NOTA: puede hacer esto EN EL CONSTRUCTOR DE INTERFAZ, simplemente "haciendo clic de nuevo" en el campo. Luego, se "restablecerá" correctamente a su nuevo nombre de proyecto.
Fattie