Випадково видалений файл 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.