Если вы искали «frameit fastlane», скорее всего, вы пытаетесь автоматизировать создание скриншотов для App Store. Либо вы уже всё настроили и упёрлись в стену, либо прикидываете, нет ли более быстрого пути, прежде чем браться за полноценную настройку.

В этой статье разбираем, что на самом деле делает Fastlane frameit, где он создаёт трудности для инди-разработчиков и как Marteso подходит к той же задаче автоматизации скриншотов иначе. К концу у вас будет достаточно информации, чтобы решить, какой инструмент подходит именно вам.

Что делает Fastlane frameit

Fastlane — это набор инструментов с открытым исходным кодом для автоматизации деплоя под iOS и Android. Конвейер скриншотов состоит из двух действий:

  • snapshot снимает скриншоты из ваших UI-тестов Xcode на разных симуляторах
  • frameit оборачивает эти скриншоты в рамки устройств для отправки в App Store

Типичный процесс автоматизации скриншотов под iOS с Fastlane выглядит так:

  1. Написать UI-тесты, которые проходят по всем экранам, которые вы хотите захватить
  2. Настроить Fastfile с лейнами snapshot и frameit
  3. Запустить fastlane snapshot локально (от 20 до 40 минут за прогон в зависимости от числа локалей)
  4. Запустить fastlane frameit, чтобы применить рамки устройств
  5. Вручную проверить результат для каждой локали и размера устройства
  6. Загрузить готовые скриншоты в App Store Connect

Для разработчиков, которые живут в терминале и уже имеют настроенный CI/CD-конвейер, этот процесс рабочий. Для команд с выделенными DevOps-ресурсами и требованием полного контроля он к тому же является де-факто стандартом.

Где Fastlane frameit создаёт трудности для инди-разработчиков

Стоимость настройки выше, чем кажется. Чтобы запустить Fastlane, нужны Ruby, настройка симуляторов Xcode, профили подготовки (provisioning profiles) и рабочий Fastfile. Для разработчика-одиночки, который просто хочет качественные скриншоты для App Store, это несколько часов на настройку окружения ещё до того, как появится хотя бы один скриншот.

Стоимость постоянного обслуживания ещё выше. Рамки устройств меняются с каждым релизом iOS. Когда Apple выпускает новое железо, существующие ресурсы рамок frameit устаревают или съезжают. Вы обновляете gem. Вы дебажите пути к ресурсам. Вы заново прогоняете весь конвейер, чтобы убедиться, что результат выглядит правильно. И происходит это по графику Apple, а не по вашему.

Локализация умножает объём работы. Приложение с 5 языками и 3 размерами устройств даёт 15 наборов вывода на каждый скриншот. Управлять вручную 60 и более файлами, проверять, что текст корректно отображается в каждой локали, вычитывать японский или немецкий вывод, когда вы не говорите на этих языках, — это ровно та задача, которую откладывают на ночь перед отправкой.

Тексты на скриншотах — полностью ручная работа. Fastlane захватывает только то, что показывает ваш UI-тест. Написание накладного текста, заголовка, локализованного промо-текста, который появляется на самом скриншоте, происходит за пределами инструмента. Если вы хотите разные тексты для разных языков, вам придётся либо встроить это в UI-тест, либо вести отдельный конвейер ресурсов.

Это не баги Fastlane. Это низкоуровневый инструмент, созданный для разработчиков, которые хотят контролировать каждый шаг. Расплата за это — то, что каждый шаг требует вашего времени и вашего обслуживания.

Что Marteso делает иначе

Marteso — это no-code-платформа автоматизации скриншотов, разработанная специально для отправки в App Store. Она покрывает те же шаги, что и Fastlane frameit, но подход отличается почти в каждой точке.

Настройка: Подключите свой репозиторий GitHub и аккаунт App Store Connect через интерфейс Marteso. Никакого Ruby, никакого Fastfile, никакой локальной настройки симуляторов. Большинство разработчиков заканчивают настройку менее чем за 30 минут.

Триггер: Запушьте в GitHub. Marteso ловит вебхук и запускает ваш UI-тест в управляемом облачном окружении. Локально не запускается ничего.

Вывод локализации: Один прогон теста генерирует скриншоты с рамками устройств на всех языках App Store, которые вы поддерживаете. Если строки вашего приложения уже локализованы, дополнительная настройка теста не нужна. Marteso использует ваши существующие файлы строк, чтобы автоматически заполнять вывод для каждой локали.

Тексты скриншотов, сгенерированные AI: Marteso генерирует накладной текст и промо-копирайтинг для каждого скриншота с помощью AI. Вы просматриваете и редактируете предложенные варианты, прежде чем они попадут в финальные ресурсы. Вы не начинаете с чистого листа.

Рамки устройств: Обслуживаются Marteso. Когда Apple выпускает новое железо с обновлёнными рамками, рамки на платформе обновляются автоматически. Вам не нужно управлять версиями gem или файлами ресурсов.

Для инди-разработчика, который ведёт релизы в одиночку, разница не только в скорости. Дело в самом количестве решений и задач обслуживания на каждый цикл релиза. Fastlane требует, чтобы вы держали под контролем каждую деталь конфигурации. Marteso предлагает разумные значения по умолчанию и позволяет переопределять только то, что важно.

Сравнение бок о бок

Fastlane frameitMarteso
Время настройкиот 2 до 4 часов (Ruby, Fastfile, настройка симуляторов)Менее 30 минут (подключение GitHub и ASC)
Где выполняетсяЛокальная машина или CI с ручной настройкойПолностью управляемый облачный конвейер
Обслуживание рамок устройствВручную (обновление gem после каждого релиза iOS)Автоматически
ЛокализацияРучная настройка теста и файлов для каждой локалиАвтоматически из существующих файлов строк приложения
Тексты, сгенерированные AIНетВстроены, можно проверить перед экспортом
ЦенаБесплатно (открытый код)Есть бесплатный тариф; платные планы для крупных приложений
Требования к навыкамНужна уверенная работа с терминалом и RubyCLI не требуется
КастомизацияПолный программный контроль над каждым шагомНастройка через интерфейс дашборда

Кому стоит выбрать Fastlane

Fastlane frameit — правильный выбор, если вы работаете в команде, где инфраструктура Fastlane уже есть в CI, есть DevOps-инженер, который обслуживает конвейер, или вам нужен полный программный контроль над генерацией скриншотов. Если у вас есть рабочий Fastfile и человек, в чьи обязанности входит его обслуживание, нет причин что-то менять.

Fastlane также подходит лучше, если у вас нестандартные требования к скриншотам: нетипичные сценарии симуляторов, собственные ресурсы рамок или процессы скриншотов, зависящие от данных, внедряемых во время теста так, как управляемая платформа не поддержит.

Кому стоит выбрать Marteso

Marteso создан для инди-разработчиков под iOS, которым нужны корректные локализованные скриншоты без построения и обслуживания собственного конвейера. Если вы разработчик-одиночка или небольшая команда, и работа над скриншотами постоянно сдвигается, потому что порог настройки слишком высок, Marteso убирает это трение.

Управляемый конвейер означает, что вы меняете полный контроль над конфигурацией на возвращённое время на каждом релизе. Для большинства инди-приложений, выпускаемых силами одного-двух человек, это однозначно выгодный размен. Работа над скриншотами выполняется по графику, а не откладывается.

Попробуйте

У Marteso есть демо-окружение по адресу app.marteso.com ([email protected] / demo1234), где вы можете пройти полный процесс релиза, включая генерацию скриншотов, редактирование метаданных и отправку в App Store Connect. В демо используются реальные приложения, поэтому результат автоматизации скриншотов, который вы видите, отражает то, что даёт продакшен-прогон.