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


81

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

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

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

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

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


Просто сделайте один 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. Папка на жестком диске никуда не делась.


Ах, спасибо, я нашел папку, но похоже, что в ней отсутствует большинство файлов. Вы случайно не знаете, можно ли восстановить остальное?
— Aeveus

Я не уверен. Если это что-то, что было в вашем проекте, а сейчас нет, то оно либо где-то в папке вашего проекта в Finder, либо, возможно, было перемещено в корзину.
— nhgrif 07

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.