2013-09-25 4 views
11

Скажем, у меня есть проект с 100 изображениями, которые я импортировал в папку внутри основного файла Images.xcassets. Затем я иду и получаю обновления для 67 из этих изображений от моего графического дизайнера - есть ли простой способ переместить эти обновления изображений в папку xcassets?Xcode5 xcassets - как навалом заменить изображения?

Как бы то ни было, я открываю файл xcassets в Xcode, и для каждого измененного изображения я перетаскиваю новое изображение в небольшое 2x или 1x окно - я должен сделать это 67 раз! Я не могу просто перетащить файлы в Finder (старый способ), потому что каждое изображение в папке xcassets имеет свою собственную подпапку. Если я не использую файл xcassets для своих изображений, я могу легко обновить файлы, выполнив это. Но xcassets должны «упростить управление вашими активами».

Хорошо - так что мне не хватает?

+2

Я собирался начать использовать xcassets, но это выглядит не очень хорошо ... –

+0

Я думаю, что идея заключается в том, что теперь вы создаете папку '* .xcassets' для вашего дизайнера. И ожидайте, что он/она вернет другой с измененными изображениями без изменения структуры папки. В противном случае вы можете решить это с помощью скрипта (если имена изображений совпадают) – nacho4d

ответ

3

Я не думаю, что вам что-то не хватает. Папки активов просто не продуманы. Они вносят несколько преимуществ, но гораздо больше недостатков.

Возьмем, к примеру, образ запуска. Вы не можете установить 4-дюймовые изображения сетчатки и сетчатки для разных версий iOS через активы без копирования файлов Xcode. Думаю, у нас нет другого выбора, кроме как отправлять запросы на улучшение через bug reporter и надеяться ...

+0

Согласовано. Раньше было легко написать сценарий, который изменил бы размер и переименовал бы все ваши 2x изображения в 1x или даже 3x на 2x. Мы всегда рассматривали наибольший размер как «мастер» и запускали скрипт всякий раз, когда изображение менялось. На самом деле легко управлять. –

0

Я начал откладывать изображения, как изображения запуска и приложения, в отдельной папке в моем файле xcassets, так как эти изображения редко изменение. Затем, когда мне нужно повторно импортировать изображения или добавлять новые, я удаляю существующие изображения (за исключением отдельной папки) и повторно импортирую все (кроме изображений, которые я отложил). Он работает чисто и не нарушает мой код или раскадровки.

Или вы можете перетащить в поисковик, вам просто нужно открыть папку .xcassets в Finder и поместить изображения в правильные каталоги/изображения. Xcode меняет структуру каталогов и аналогично прошлому, если изображения сохраняют одно и то же имя файла, вы можете перезаписать их в Finder, и Xcode будет обновляться. Вам не нужно возиться с файлом .xcassets в Xcode для простого изменения, как это, но это немного боль, чтобы перетащить каждое изображение в соответствующий набор изображений, и скрипт может сделать вещи намного проще в этой области ,

4

Нет необходимости для Ruby, вы можете запустить этот скрипт, чтобы найти файлы в папке в происхождения (где ваши обновленные изображения являются), найти файлы с тем же именем в назначения папки (папка .xcassets) и перезаписать их с обновленной версией. Прекрасно работает!

find ORIGIN FOLDER PATH NAME -name '*.png' | while read f; do f2=$(find DESTINATION  FOLDER PATH -name "${f##*/}"); [[ $f2 ]] && cp "$f" "$f2"; done 
+0

Это отлично работает! –

Смежные вопросы