Випадково видалений файл xcassets із проекту Xcode


81

Я хотів видалити одну колекцію із колекції зображень, проте мені якось вдалося викинути весь файл xcassets у смітник.

Звичайний метод "Повернути назад" недоступний, і просто перетягування видаленої папки до Xcode видає помилку:

"Images.xcassets" не вдалося скопіювати до "ProjectPear", оскільки елемент із такою ж назвою вже існує.
Щоб зберегти файл, вкажіть інше ім’я або відсуньте або видаліть наявний файл і повторіть спробу.

Я не впевнений, де знаходиться ця колекція в моєму проекті Xcode, оскільки навігатор, здається, нічого не показує, а командний рядок також не видаляє жодних підказок. Я боюся возитися з project.pbxprojфайлом, оскільки він може перерости набагато більше, ніж просто моя колекція зображень.

Редагувати: Перетягування файлів назад у Finder із кошика було успішним, однак навігатор Xcode більше не розпізнає - або в цьому випадку все ще не розпізнає - файл .xcassets. Я не впевнений, чи потрібно щось додавати у файл .pbxproj.


Просто виконайте одну команду + Z (скасувати). Врятував мені багато часу :)
— Gokul

Відповіді:


216

Я просто зробив це сам і придумав, як швидко виправити проблему.

  1. Перейдіть до папки проекту у Finder . Ви повинні виявити, що папка Images.xcassets все ще є.

  2. Перемістіть його в окреме місце, наприклад, на робочий стіл чи щось інше. У ньому досі є всі зображення та файли json.

  3. Поверніться до Xcode і створіть новий каталог ресурсів для зображень.

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

    Назвіть це Зображення .

  4. Закрийте Xcode і поверніться до Finder.

  5. Скопіюйте папки з вашої старої Images.xcassets до нового каталогу Images.xcassets у вашому проекті.

  6. Запустіть Xcode, і ви знову в справі!


Ого, я щойно випадково видалив у своєму Assets.xcassets, і він все ще працює, але це не працює, тому я не можу додавати нові зображення ... Я шукав всю папку безрезультатно
— Ісус Родрігес

@JesusAdolfoRodriguez, Якщо ви вибрали "Перемістити в кошик", коли випадково видалили каталог активів, ви зможете знайти папку в кошику, якщо, звичайно, ви вже не очистили кошик.
— Шон Блейні,

1
Приємно, працював у мене. FYI для тих, хто випадково видалив це, я думаю, це тому, що ми намагалися Cmd + Видалити файл, перебуваючи всередині папки Assets. Натомість просто натисніть Delete, щоб видалити файл
— Merricat

23

Якщо ви не видалили його повністю, ви можете просто перетягнути його назад із Finder. (Клацніть проект правою кнопкою миші та виберіть "Розкрити у Finder", щоб перевірити)

Якщо це повністю зникне, просто перейдіть Cmd + N -> Ресурс і виберіть Каталог активів. Потім ви повторно додаєте свої зображення за допомогою перетягування або клацання правою кнопкою миші та "Додати файли до ...", і це має бути добре.

Сподіваюся, що це допомагає.


1
Дякую, мені вдалося перетягнути все назад у папку, але навігатор не показує файл. Чи є спосіб оновити навігатор (або щось подібне)?
— Евеус

Ну, Cmd + W і повторне відкриття коли-небудь допомагали, але варто спробувати. Якщо ви знайшли файли у Finder, просто перетягніть їх назад, і це повинно бути все
— Finn Gaida

Добре перетягування файлів назад все пройшло нормально, просто навігатор більше не розпізнає файл .xcassets, оскільки його просто не видно. Я можу це дуже добре знайти у Finder, але навігатор XCode мені не вірить.
— Авеус

Це може здатися безглуздо, але для мене перезапуск XCode і очищення проекту виконували цю справу моторошно часто
— Фінн Гайда

На даний момент я трохи розчарований, тому вітаю всі відповіді. Я вже спробував відновити та очистити проект на додаток до перезапуску XCode; не допомогло. :(
— Авев

3

Маючи ту саму проблему сьогодні з Xcode Beta, я також не зміг створити новий каталог активів з якихось причин. Це було у проекті розширення Watchkit. Ось що я зробив для його вирішення:

  1. У Finder я скопіював наявний images.xcassets з іншої папки в моєму додатку на робочий стіл.
  2. Видалено вміст цієї папки.
  3. Скопійовано видалене (одиничне) зображення з мого сміття у папку (на моєму робочому столі).
  4. Перетягнув всю папку до мого проекту в XCode.

Це виправило, і все повернулося до звичного.


3

Якщо ви видалили його повністю, то також виконайте наступні дії, щоб отримати новий Image.xcassets:

  1. У Навігаторі натисніть на проект.
  2. Перейдіть до: Файл> Створити> Файл> Додати каталог активів> Назвіть його.
  3. Щоб додати до них AppIcon та LaunchImage:

Перейдіть до налаштування проекту:

  1. На вкладці Загальне перейдіть до значків програм і запустіть зображення
  2. Клацніть на опцію біля Джерела значків програм і виберіть Використовувати каталоги активів
  3. З’явиться вікно - виберіть ім’я нового файлу Images.xcassets і натисніть «Перенести».
  4. Виберіть Також додати LaunchImage. Тепер ви можете побачити нові Images.xcassets у вашому проекті :).

3

Я випадково видалив посилання на папку активів, щоб його більше не було видно в Xcode. Але коли я перевірив у пошуку, папка активів все ще знаходилася в папці проекту.

Якщо ви це зробили, просто відкрийте меню файлів у Xcode (з вашого поточного проекту), і вгорі ви можете додати (існуючі) файли до цього самого проекту (назад) - там написано "Додати файли до ..."


або просто перетягніть із Finder
— djdance 02.03.18

2

Зазвичай посилання на файл видаляється з Xcode, оригінальна папка все ще існує в каталозі проекту.

Клацніть правою кнопкою миші на папці вашого проекту, натисніть "Додати файли до" вашого проекту "", знайдіть у своєму проекті "Активи" та натисніть " Додати", і все готово

введіть тут опис зображення


1

Клацніть правою кнопкою миші будь-що у вашому проекті та натисніть "Показати у Finder". Пошукайте трохи у папці проекту у пошуку, і ви знайдете його. Зараз я не на Mac, інакше я дав би вам пряміший шлях прямо до .xcassetsпапки за замовчуванням .

І в будь-якому випадку, якщо ви не можете скопіювати / створити "нову" папку в цьому місці, оскільки "елемент з тим самим іменем уже існує", то це означає, що ви насправді не видаляли папку. Ви щойно видалили посилання свого проекту на цю папку в XCode. Папка на жорсткому диску нікуди не поділася.


Ах, дякую, я знайшов папку, проте, схоже, у ній відсутня більшість файлів. Чи могли б ви випадково знати, чи можна отримати решту?
— Авеус

Я не впевнений. Якщо це щось, що було у вашому проекті, а зараз - ні, тоді воно знаходиться десь у папці вашого проекту у Finder, або, можливо, його було переміщено до кошика для сміття.
— nhgrif

1

[Я розумію, що це дуже давнє запитання від вас @Aeveus] Усі відповіді говорять про повторне додавання об’єктів знову. З огляду на те, що ви не можете відмінити, у вашому оригінальному описі відсутній один крок:

У вашому файлі project.pbxproj були б посилання на активи, як показано нижче:

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

Припускаючи, що у вас є система керування вихідним кодом (git тощо), ви можете повернутися до початкового вмісту файлу project.pbxproj, або вручну просто повторно додати видалені рядки та знову відкрити файл проекту в xcode. Ви все готові.


0

У мене була та ж проблема, і я дотримувався наведених вище кроків від Джейсона, але нарешті я отримав Image.xassets червоного кольору, тому для того, щоб знайти свої зображення, мені потрібно було натиснути Image.xassets, а потім у верхньому правому куті абсолютний шлях до моєї папки image.xassets, і це вирішило мою проблему. Сподіваюся, це допоможе!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.