Случайно удаленный файл xcassets из проекта Xcode

81

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

Обычный метод «Вернуть обратно» недоступен, и простое перетаскивание удаленной папки в Xcode приводит к ошибке:

«Images.xcassets» не удалось скопировать в «ProjectPear», поскольку элемент с таким именем уже существует.
Чтобы сохранить файл, либо укажите другое имя, либо отодвиньте или удалите существующий файл и повторите попытку.

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

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

Aeveus
источник
Просто сделайте один Command + Z (Отменить). Сэкономил мне много времени :)
Гокул

Ответы:

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 + Delete файл, находясь внутри папки Assets. Вместо этого просто нажмите «Удалить», чтобы удалить файл
Меррикат
23

Если вы не удалили его полностью, вы можете просто перетащить его обратно из Finder. (Щелкните правой кнопкой мыши свой проект и выберите «Показать в Finder», чтобы проверить)

Если все прошло полностью, просто перейдите Cmd + N -> Resource и выберите Asset Catalog. Затем вы повторно добавляете свои изображения с помощью перетаскивания или щелчка правой кнопкой мыши и «Добавить файлы в ...», и все должно быть хорошо.

Надеюсь, это поможет.

Финн Гайда
источник
1
Спасибо, все удалось перетащить обратно в папку, но навигатор не показывает файл. Есть ли способ обновить навигатор (или что-то подобное)?
Aeveus
Что ж, Cmd + W и повторное открытие когда-либо помогали, но попробовать стоит. Если вы нашли файлы в Finder, просто перетащите их обратно, и все
готово
Ну, перетаскивание файлов обратно прошло нормально, просто навигатор больше не распознает файл .xcassets, так как он просто не отображается. Я могу найти его в Finder, но навигатор XCode мне не верит.
Aeveus
Это может показаться глупым, но для меня перезапуск XCode и очистка проекта выполняли свою работу пугающе часто
Финн Гайда
На данный момент я немного разочарован, поэтому приветствую все ответы. Я уже пробовал перестроить и очистить проект в дополнение к перезапуску XCode; не помогло. :(
Aeveus 07
3

Была такая же проблема сегодня с Xcode Beta, я также по какой-то причине не мог создать новый каталог ресурсов. Это было в проекте расширения Watchkit Вот что я сделал, чтобы решить эту проблему:

  1. В Finder я скопировал существующий файл images.xcassets из другой папки моего приложения на свой рабочий стол.
  2. Удалил содержимое этой папки.
  3. Скопировал удаленный (единственный) объект изображения из корзины в папку (на моем рабочем столе).
  4. Перетащил всю папку в свой проект в XCode.

Это исправило это, и все вернулось в норму.

Шахар
источник
3

Если вы полностью удалили его, выполните следующие действия, чтобы получить новый файл Images.xcassets:

  1. В навигаторе щелкните проект.
  2. Перейдите к: Файл> Создать> Файл> Добавить каталог активов> Назовите его.
  3. Чтобы добавить в него AppIcon и LaunchImage:

Перейдите в настройки проекта:

  1. На вкладке "Общие" перейдите к значкам приложений и загрузите изображения.
  2. Щелкните опцию рядом с источником значков приложений и выберите Использовать каталоги активов.
  3. В появившемся окне выберите имя нового файла Images.xcassets и нажмите «Перенести».
  4. Выберите Также добавить LaunchImage. Теперь вы можете увидеть новые кассеты Images.xcasset в вашем проекте :).
Нупур Шарма
источник
3

Я случайно удалил ссылку на папку с активами, чтобы она больше не была видна в Xcode. Но когда я проверил через искатель, папка с активами все еще была в папке проекта.

Если вы это сделали, просто откройте меню файлов в Xcode (из вашего текущего проекта) и в самом верху вы можете добавить (существующие) файлы в этот самый проект (снова) - там написано «Добавить файлы в ...»

Белла
источник
или просто перетащите мышкой из Finder
djdance 02
2

Обычно ссылка на файл удаляется из Xcode, исходная папка все еще существует в каталоге проекта.

Щелкните правой кнопкой мыши папку проекта, нажмите «Добавить файлы в« свой проект »», найдите в своем проекте Assets и нажмите « Добавить», и все готово.

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

Аджи
источник
1

Щелкните правой кнопкой мыши что-либо в своем проекте и выберите «Показать в Finder». Поищите немного в папке проекта в поисковике, и вы ее найдете. Я сейчас не на Mac, иначе я бы дал вам более прямой путь прямо к расположению .xcassetsпапки по умолчанию .

В любом случае, если вы не можете скопировать / создать «новую» папку в этом месте, потому что «элемент с таким именем уже существует», то это означает, что вы фактически не удалили папку. Вы только что удалили ссылки своего проекта на эту папку в XCode. Папка на жестком диске никуда не делась.

nhgrif
источник
Ах, спасибо, я нашел папку, но похоже, что в ней отсутствует большинство файлов. Вы случайно не знаете, можно ли восстановить остальное?
Aeveus
Я не уверен. Если это что-то, что было в вашем проекте, а сейчас нет, то оно либо где-то в папке вашего проекта в Finder, либо, возможно, было перемещено в корзину.
nhgrif 07
1

[Я понимаю, что это очень старый вопрос от вас, @Aeveus] Во всех ответах говорится о повторном добавлении ресурсов. Учитывая, что вы не можете отменить действие, в исходном описании отсутствует один шаг:

В вашем файле project.pbxproj были бы ссылки на активы, как показано ниже:

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

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

Jey
источник
0

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

Albeis
источник