AACWorkflow Docs

Мобильное приложение (iOS)

Как собрать коммерческий iOS-приложение AACWorkflow на своём iPhone — App Store пока нет.

iOS-клиент AACWorkflow — это коммерческий проект в основном репозитории вместе с вебом, десктопом и бэкендом. Приложения пока нет в App Store — до тех пор каждый, кто хочет использовать его на iPhone, собирает из исходников. Первая сборка занимает около 10–20 минут, последующие — около 2 минут. Приложение работает с тем же бэкендом, что и aacworkflow.com, поэтому ваш существующий аккаунт просто работает.

Эта страница — для личного использования. Разработчикам приложения следует читать apps/mobile/README.md в репозитории — там описаны dev/staging варианты и полная матрица скриптов.

Что понадобится

  • Mac с установленным Xcode (бесплатно из App Store).

  • Бесплатный Apple ID, добавленный в Xcode → Settings → Accounts. Платный аккаунт Apple Developer Program необязателен и лишь продлевает 7-дневный срок подписи до 1 года — см. ограничение в 7 дней ниже.

  • iPhone, подключённый через USB-кабель, с включённым режимом разработчика (Settings → Privacy & Security → Developer Mode).

  • Исходный код AACWorkflow:

    git clone https://github.com/aacworkflow-ai/aacworkflow.git
    cd aacworkflow
    pnpm install

Если чего-то из списка не хватает, пройдите руководство Expo Set up your environment (выберите Development build → iOS Device) — это каноническое руководство по настройке всего, кроме клонирования репозитория.

Сборка

Одна команда:

pnpm ios:mobile:device:prod:release

Xcode подписывает сборку с помощью «Personal Team», которой ваш Apple ID владеет автоматически — эта команда создаётся silently при первом входе в Xcode с любым Apple ID, так что она существует, даже если вы не помните, что настраивали её. Это Release-сборка: без зависимости от Metro, заставка → приложение, точно как установка из App Store.

Первая сборка скачивает CocoaPods + компилирует React Native из исходников — рассчитывайте на 10–20 минут. Последующие сборки используют кеш Xcode.

Это всё для типичного пути. Если подпись не проходит, перейдите к Устранению неполадок.

7-дневное ограничение подписи

Бесплатный Apple ID подписывает сборки на 7 дней. После этого приложение отказывается запускаться на iPhone и показывает ошибку «ненадёжный разработчик». Подключитесь обратно к Mac и перезапустите ту же команду для повторной подписи — ваши данные сохранятся, потому что они хранятся на бэкенде, а не в приложении.

Единственный способ продлить срок — аккаунт Apple Developer Program ($99/год на developer.apple.com). Подпись действует 1 год между продлениями, и вы также можете распространять приложение на другие устройства через TestFlight.

Обновление

Автообновлений пока нет. Когда кодовая база AACWorkflow обновляется, сделайте pull и пересоберите:

git pull
pnpm install
pnpm ios:mobile:device:prod:release

Последующие сборки быстрые, потому что Xcode кеширует нативную компиляцию.

Почему пока нет в App Store

iOS-приложение всё ещё быстро развивается — команда предпочитает «релизить и итерировать» вместо циклов проверки App Store. Бета-версия TestFlight — наиболее вероятный следующий шаг перед полноценным релизом в App Store. До тех пор самостоятельная сборка, описанная выше, — единственный способ использовать AACWorkflow на iOS.

Если хотите получить уведомление об открытии TestFlight, следите за репозиторием на GitHub.

Устранение неполадок

«No matching provisioning profiles found» — Xcode отказывается подписывать стандартный bundle id ai.aacworkflow.mobile вашим Apple ID. Редко, но случается, если кто-то зарегистрировал этот префикс на портале разработчика Apple. Выберите любой обратный домен, который вы контролируете (com.yourname.aacworkflow подойдёт), экспортируйте его и перезапустите:

export EXPO_BUNDLE_IDENTIFIER_PROD=com.yourname.aacworkflow
pnpm ios:mobile:device:prod:release

ID не обязан что-то означать — Apple просто нужно, чтобы он не был занят другими командами.

«Could not launch <app>» / «Untrusted Developer» — либо вы достигли 7-дневного лимита (пересоберите), либо нужно вручную доверить профиль разработчика на iPhone: Settings → General → VPN & Device Management → нажмите свой Apple ID → Trust.

Сборка зависает на Pod install или компилируется бесконечно — первая сборка действительно длится 10–20 минут, потому что CocoaPods скачивает зависимости, а Xcode компилирует React Native из исходников. Последующие сборки значительно быстрее.

Приложение не может подключиться к бэкенду — проверьте, что apps/mobile/.env.production не был изменён (стандартно там EXPO_PUBLIC_API_URL=https://api.aacworkflow.com). Если изменили, восстановите через git checkout apps/mobile/.env.production.