Archivo xcassets eliminado accidentalmente del proyecto Xcode


81

Quería eliminar una sola carpeta de la colección de imágenes, sin embargo, de alguna manera me las arreglé para tirar todo el archivo xcassets a la basura.

El método normal de 'Recuperar' no está disponible, y simplemente arrastrar la carpeta eliminada a Xcode produce un error:

"Images.xcassets" no se pudo copiar a "ProjectPear" porque ya existe un elemento con el mismo nombre.
Para guardar el archivo, proporcione un nombre diferente, hágalo a un lado o elimine el archivo existente y vuelva a intentarlo.

No estoy seguro de dónde se encuentra esta colección dentro de mi proyecto Xcode, ya que el navegador no parece mostrar nada y la línea de comandos tampoco arroja ninguna pista. Tengo miedo de perder el tiempo con el project.pbxprojarchivo, ya que podría desordenar mucho más que mi colección de imágenes.

Editar: Arrastrar los archivos al Finder desde la Papelera fue exitoso, sin embargo, el navegador Xcode ya no reconoce, o en este caso, todavía no reconoce, el archivo .xcassets. No estoy seguro de si agregar algo en el archivo .pbxproj.


Solo haz un Comando + Z (Deshacer). Me ahorró mucho tiempo :)
Gokul

Respuestas:


216

Hice esto yo mismo y descubrí cómo solucionar rápidamente el problema.

  1. Ve a la carpeta del proyecto en el Finder . Debería encontrar que la carpeta Images.xcassets todavía está allí.

  2. Muévalo a una ubicación separada como el escritorio o algo así. Todavía tiene todas las imágenes y archivos json.

  3. Vuelva a Xcode y cree un nuevo catálogo de activos para imágenes.

    File > New > File... > Resource > Asset Catalog

    Nómbrelo Imágenes .

  4. Salga de Xcode y regrese al Finder.

  5. Copie las carpetas de su antiguo Images.xcassets al nuevo directorio Images.xcassets de su proyecto.

  6. ¡Inicie Xcode y estará de vuelta en el negocio!


Vaya, acabo de eliminar en mi Assets.xcassets por accidente y todavía funciona, pero esto no funciona así que no puedo agregar nuevas imágenes ... Busqué la carpeta en todas partes sin éxito
Jesús Rodríguez

@JesusAdolfoRodriguez, si seleccionó 'Mover a la papelera' cuando eliminó accidentalmente el catálogo de activos, debería poder encontrar la carpeta en la papelera, a menos que, por supuesto, ya haya vaciado la papelera.
Sean Blaney

1
Bien, funcionó para mí. Para su información, para cualquiera que haya eliminado esto accidentalmente, creo que es porque intentamos Cmd + Eliminar un archivo dentro de la carpeta de Activos. En su lugar, simplemente presione Eliminar para eliminar un archivo
Merricat

23

Si no lo eliminó por completo, puede arrastrarlo nuevamente desde el Finder. (Haga clic derecho en su proyecto y seleccione 'Revelar en Finder' para verificar)

Si se ha ido por completo, simplemente vaya a Cmd + N -> Recurso y seleccione Catálogo de activos. Luego, vuelva a agregar sus imágenes arrastrando y soltando o haciendo clic con el botón derecho y 'Agregar archivos a ...' y debería estar listo para comenzar.

Espero que ayude.


1
Gracias, logré arrastrar todo de nuevo a la carpeta, pero el navegador no muestra el archivo. ¿Hay alguna forma de actualizar el navegador (o algo similar)?
Aeveus

Bueno, Cmd + W y la reapertura siempre han ayudado, pero vale la pena intentarlo. Sin embargo, si encontró los archivos en el Finder, simplemente arrástrelos nuevamente y eso debería ser todo
Finn Gaida

Bueno, arrastrar los archivos hacia adentro fue bien, es solo que el navegador ya no reconoce el archivo .xcassets, ya que simplemente no está visible. Puedo encontrarlo bien en Finder, pero el navegador XCode no me cree.
Aeveus

Esto puede sonar tonto, pero para mí reiniciar XCode y limpiar el proyecto había funcionado con mucha frecuencia
Finn Gaida

En este momento, estoy un poco frustrado, así que agradezco todas las respuestas. Ya intenté reconstruir y limpiar el proyecto además de reiniciar XCode; no ayudó. :(
Aeveus

3

Tuve el mismo problema hoy con Xcode Beta, tampoco pude crear un nuevo catálogo de activos por alguna razón. Esto fue en un proyecto de extensión de Watchkit Esto es lo que hice para resolverlo:

  1. En el buscador, copié un images.xcassets existente de otra carpeta en mi aplicación a mi escritorio.
  2. Eliminado el contenido de esta carpeta.
  3. Copié un activo de imagen eliminado (único) de mi papelera en la carpeta (en mi escritorio).
  4. Arrastré toda la carpeta a mi proyecto en XCode.

Eso lo solucionó y todo volvió a la normalidad.


3

Si lo ha eliminado por completo, estos son también los pasos para obtener un nuevo Images.xcassets:

  1. En el navegador, haga clic en el proyecto.
  2. Vaya a: Archivo> Nuevo> Archivo> Agregar catálogo de activos> Nombre.
  3. Para agregar AppIcon y LaunchImage en él:

Vaya a la Configuración del proyecto:

  1. En la pestaña General, deslícese hacia abajo hasta los iconos de la aplicación e inicie imágenes
  2. Haga clic en la opción junto a la Fuente de los iconos de la aplicación y seleccione Usar catálogos de activos
  3. Aparecerá una ventana: seleccione el nombre de su nuevo archivo Images.xcassets y haga clic en Migrar.
  4. Seleccione Agregar también LaunchImage. Ahora puede ver los nuevos Images.xcassets en su proyecto :).

3

Eliminé accidentalmente la referencia a la carpeta de activos para que ya no fuera visible en Xcode. Pero cuando miré desde el buscador, la carpeta de activos todavía estaba en la carpeta del proyecto.

Si hizo eso, simplemente abra el menú de archivos en Xcode (desde dentro de su proyecto actual) y en la parte superior puede agregar archivos (existentes) a ese mismo proyecto (de nuevo), dice "Agregar archivos a ..."


o simplemente arrastrar y soltar desde Finder
djdance

2

Por lo general, la referencia del archivo se elimina de Xcode, la carpeta original todavía existe en el directorio del proyecto.

Haga clic con el botón derecho en la carpeta de su proyecto, haga clic en "Agregar archivos a" su proyecto "", busque Activos en su proyecto y haga clic en Agregar y listo

ingrese la descripción de la imagen aquí


1

Haz clic derecho en cualquier elemento de tu proyecto y haz clic en "Mostrar en el Finder". Busque un poco en la carpeta de su proyecto en el buscador y lo encontrará. No estoy en una Mac en este momento, o le daría un camino más directo directamente al predeterminado.xcassets ubicación de la carpeta .

Y de todos modos, si no puede copiar / crear una carpeta "nueva" en esa ubicación porque "ya existe un elemento con el mismo nombre", entonces eso significa que en realidad no eliminó la carpeta. Acaba de eliminar las referencias de su proyecto a esa carpeta en XCode. La carpeta de su disco duro no fue a ninguna parte.


Ah, gracias, encontré la carpeta, sin embargo, parece que le faltan la mayoría de sus archivos. ¿Sabría usted si el resto es recuperable?
Aeveus

No estoy seguro. Si es algo que estaba en su proyecto pero ahora no lo está, entonces está en algún lugar de la carpeta de su proyecto en Finder, o puede haber sido movido a la papelera.
nhgrif

1

[Me doy cuenta de que esta es una pregunta muy antigua de usted @Aeveus] Todas las respuestas hablan de volver a hacer los elementos agregados nuevamente. Dado que no pudo deshacer, el único paso que falta en su descripción original es este:

En su archivo project.pbxproj, habría referencias a activos como se muestra a continuación:

45AE4E781C183FBA0051674F /* Assets.xcassets in Resources */ = {... 

Suponiendo que tiene un sistema de control de código fuente (git, etc.), puede volver al contenido original de su archivo project.pbxproj, o simplemente volver a agregar manualmente las líneas eliminadas y volver a abrir el archivo del proyecto en xcode. Ya está todo listo.


0

Tuve el mismo problema y seguí los pasos anteriores de Jason, pero finalmente obtuve Image.xassets en color rojo, por lo que para encontrar mis imágenes tuve que hacer clic en Image.xassets y luego en la esquina superior derecha poner el ruta absoluta a mi carpeta image.xassets y solucionó mi problema. ¡Espero eso ayude!

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.