Saltar al contenido

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

Nuestros programadores estrellas han agotado sus reservas de café, en su búsqueda día y noche por la resolución, hasta que Alicia halló el hallazgo en GitHub y ahora la comparte con nosotros.

Solución:

Paso 1: cambie 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 debe encontrarse en “Identidad y tipo”. Cámbielo a su nuevo nombre.
  3. Cuando el cuadro de diálogo le pregunte si cambiar o no el nombre de los elementos de contenido del proyecto, haga clic en “Cambiar nombre”. Di sí a cualquier advertencia sobre cambios no confirmados.

Paso 2: cambie el nombre del esquema

  1. En la parte superior de la ventana, al lado del 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 anterior 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. Sal de Xcode. Cambie el nombre de la carpeta maestra que contiene todos los archivos de su proyecto.
  2. En la carpeta maestra con el nombre correcto, además del archivo .xcodeproj con el nombre recién nombrado, probablemente haya una carpeta ANTIGUA con el nombre incorrecto que contiene los archivos de origen. Cambie el nombre de la carpeta OLD a su nuevo nombre (si usa Git, puede ejecutar git mv oldname newname para que Git reconozca que se trata de un movimiento, en lugar de eliminar/agregar nuevos archivos).
  3. Vuelva a abrir el proyecto en Xcode. Si ve una advertencia “La carpeta OLD no existe”, descarte la advertencia. Los archivos de origen en la carpeta renombrada aparecerán atenuados porque la ruta se ha roto.
  4. En el “Navegador de proyectos” en el panel de la izquierda, haga clic en la carpeta de nivel superior que representa la carpeta ANTIGUA cuyo nombre cambió.
  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ú de “Ubicación”. Si la ruta completa no se ha corregido, haga clic en el ícono de la carpeta cercana y elija la carpeta renombrada.

Paso 4: cambie el nombre de los datos de la lista 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 Embalaje, verás Info.plist y Product Bundle Identifier.
  4. Si hay un nombre ingresado en Info.plistactualizarlo.
  5. Haz lo mismo para Product Bundle Identifier, a menos que utilice la variable $PRODUCT_NAME. En ese caso, busque “producto” en la configuración y actualice Product Name. Si Product Name se basa en $TARGET_NAME, haga clic en el elemento objetivo real en la lista OBJETIVOS a la izquierda del panel de configuración y edítelo, y todas las configuraciones relacionadas se actualizarán inmediatamente.
  6. Busque la configuración de “prefix”y asegurarse de que Prefix HeaderLa ruta también se actualiza con el nuevo nombre.
  7. Si usa SwiftUI, busque “Activos 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 básicos si su nombre coincide con el nombre del proyecto (si lo tiene)

Paso 7: limpia y reconstruye tu proyecto

  1. Mando + Cambio + k limpiar
  2. Mando + B para construir

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

Al usar CocoaPods

Después del paso 2:

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

Después del paso 4:

  1. En XCode: elige y edita Podfile desde el navegador de proyectos. Deberías ver un target cláusula con el nombre OLD. Cámbielo a NUEVO.
  2. Salga de XCode.
  3. En la carpeta del proyecto, elimine el OLD.podspec expediente.
  4. rm -rf Pods/
  5. Correr pod install.
  6. Abra el código X.
  7. Haga clic en el nombre de su proyecto en el navegador de proyectos.
  8. En el panel principal, cambie a la Build Phases pestaña.
  9. Bajo Link Binary With Librariesbuscar libPods-OLD.a y eliminarlo.
  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 ejecutar.

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

POR FAVOR cd A UN REPOSITORIO NO GIT ANTES DE CONTINUAR ⚠️

Paso 1: requisitos previos

  1. Copie la carpeta de su proyecto original a un temporal /NewProjectFolderFUERA de su repositorio git. ⚠️ los cambios en .git podrían dañar su índice git

Paso 2 – Terminal abierta

Ahora vamos a cambiar el nombre del proyecto de oldName para NewProject.

  • Cierre XCode.
  • Ir a tu /NewProjectFolder.
cd /Path/to/your/NewProjectFolder
  • Instale las herramientas adicionales necesarias.
brew install rename ack
  • Cambiar el nombre de los archivos y directorios que contienen la fuente string. Tendrá que EJECUTAR ESTE COMANDO DOS VECESporque los directorios serán renombrados primero, luego los archivos y directorios dentro de ellos serán renombrados en la siguiente iteración.
find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject'
  • Compruebe si todos los archivos que contienen la fuente string son renombrados. Debería ver una salida vacía.
find . -name 'oldName*'
  • Reemplace todas las apariciones del string en todos los archivos.
ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g'
  • Compruebe si todas las ocurrencias del string en todos los archivos fueron reemplazados. Debería ver una salida vacía.
ack --literal 'oldName'
  • Correr pod install
  • Agregar NewProjectFolder a su repositorio.
  • ¡Estás listo!

valoraciones y reseñas

Ten en cuenta mostrar este enunciado si si solucionó tu problema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *