Статьи

Каталоги Xcode и Asset: Love Em или Leave Em?

Я никогда не был на WWDC, но каждый год я становлюсь позитивно настроенным, когда сессионные видео становятся доступными. И что меня больше всего волнует? Нет, не Passbook, iCloud или что-то вроде большого билета. Нет, мне нравятся мелочи. Простые вещи. Вещи, которые улучшают мою повседневную жизнь и исправляют вещи, которые я постоянно нахожу раздражающими .

В этом году что-то было каталогами активов.

Почему каталоги активов? Ну просто. С тех пор, как у нас появился iPhone 4 во всей красе сетчатки, я всегда расстраивался, когда держал ДВУХ версий каждой графики. (Оригинал и версия с двойным разрешением.) В нем так много однообразия:

  1. Мне нужно хранить все файлы в Xcode в правильном порядке. (Частично из-за ОКР, частично из-за базовой организации.)
  2. Мне нужно убедиться, что они оба названы точно одинаковыми.
  3. Если я хочу переименовать изображение, я должен сделать это дважды.
  4. Я ненавижу, сколько места занимает Project Navigator, когда все папки неизбежно расширяются.
  5. Мне нужно убедиться, что @ 2x в два раза больше размеров оригинала. (Дизайнеры всегда болтают об этом.)

К сожалению, каталоги активов не исправляют № 5, но они помогают нам с остальными четырьмя тоннами, и, эй, это не плохо! Тем не менее, не все так радужно в каталогизированном мире, так что давайте посмотрим, не так ли?

Каталоги активов: благо

Вам больше не нужно заботиться о том, чтобы ваши изображения находились в паре рядом друг с другом в XCode (вы * делаете *, верно?) Каталоги активов позволяют вам указывать версии сетчатки и не сетчатки вместе в одном месте.

Теперь вы просто перетаскиваете свои изображения в каталог, а затем бросаете их столешницы прямо рядом с ними. Они все еще файлы, просто щелкните правой кнопкой мыши и откройте их в Finder, чтобы увидеть. Это прекрасно! Это также устраняет необходимость синхронизации имен, поскольку они имеют одно имя.

Что еще приятнее, вам больше не нужно управлять именами пятидесяти миллиардов изображений Icon для всех различных моделей устройств и версий iOS, которые есть у Apple. (И нет единого стандарта.) Вы просто указываете, что используете свой каталог активов, и он найдет для вас все нужные размеры.

В качестве дополнительного бонуса, гораздо проще просматривать все ваши изображения и убедитесь, что у вас есть обе версии! Это действительно хорошо для старых проектов, которые предшествовали сетчатке, хотя вам все равно придется сначала перейти на каталог ресурсов. В старые времена при проверке изображений на сетчатке глаза требовали острого взгляда, когда вы просматривали списки имен файлов.

Ура!

Каталоги активов: плохие

Плохой? Как они могут быть плохими? Мы уже видели, как каталоги активов поддерживают файлы изображений организованными, правильно названными и легко видимыми. Что еще можно добавить?

Ну, есть кое-что, что мы потеряли. Вы больше не можете Command-Shift-O, чтобы искать изображение. Попробуй. Теперь, почему вы хотите это сделать? Ну, иногда я просматриваю код и нахожу код, загружающий изображение:

UIImage *buttonImage = [UIImage imageNamed:@"btn_clear"];

Хм, что это за изображение, давайте Command-Shift-O и … о. Нет изображения. Я нашел это действительно полезным раньше. Теперь, если вы хотите найти изображение, вам нужно открыть каталог активов и выполнить поиск в поле в левом нижнем углу.

Это не сложно, но громоздко и включает в себя несколько шагов. Я действительно надеюсь, что они когда-нибудь добавят это в индексатор. И еще одна вещь, и если вы знакомы с этим поиском, то вы знаете, куда я иду, заметили ли вы ошибку поиска? Да, надеюсь, это временно, но Xcode часто будет продолжать ваш поиск навсегда. Перед вами Xcode? Введите поиск активов, очистите его, коснитесь другого файла в Навигаторе проектов, затем снова коснитесь Каталога активов.

УРА! Вы снова оказались в поиске! Ugg. Исправь это, Apple!

Одна заключительная причуда

Еще одно маленькое раздражение в каталогах активов, которое, надеюсь, изменится в будущем, заключается в том, что Test Flight все еще хочет видеть файл Icon.png в загруженных приложениях. Единственный способ обойти это — включить отдельное изображение значка в Xcode и добавить запись значка обратно в список.

Я уверен, что это вылечится и в будущем, но сейчас, если вы используете TestFlight, вы должны хранить обычный файл значков.