Mobile app (iOS)
Как собрать open-source iOS-приложение Multica на своём iPhone — App Store пока нет.
iOS-клиент Multica — open-source, живёт в основном репозитории рядом с web, desktop и backend. В App Store его пока нет — пока так, каждый, кому нужно приложение на iPhone, собирает из исходников. Первая сборка занимает около 10–20 минут, дальше ~2 минуты; backend тот же, что у multica.ai, существующий аккаунт работает без изменений.
Эта страница — для личного использования. Разработчикам приложений читайте apps/mobile/README.md в репозитории — там dev / staging variants и полная матрица скриптов.
Что понадобится
-
Mac с установленным Xcode (бесплатно из App Store).
-
Бесплатный Apple ID в Xcode → Settings → Accounts. Платный Apple Developer Program опционален — он только продлевает окно подписи с 7 дней до 1 года; см. 7-day limit ниже.
-
iPhone по USB, с включённым Developer Mode (Settings → Privacy & Security → Developer Mode).
-
Исходники Multica:
git clone https://github.com/multica-ai/multica.git cd multica pnpm install
Если чего-то из списка нет, пройдите Set up your environment от Expo (выберите Development build → iOS Device) — канонический гайд по настройке, кроме checkout репозитория.
Сборка
Одна команда:
pnpm ios:mobile:device:prod:releaseXcode подписывает сборку «Personal Team», который Apple ID получает автоматически — team создаётся при первом входе в Xcode, даже если вы этого не помните. Это Release build: без зависимости от Metro, splash → app, как установка из App Store.
Первая сборка скачивает CocoaPods и компилирует React Native из исходников — ожидайте 10–20 минут. Следующие сборки используют кэш Xcode.
На типичном пути этого достаточно. Если подпись падает — см. Troubleshooting.
7-day signing limit
Бесплатный Apple ID подписывает сборки на 7 дней. Потом приложение на iPhone не запускается и показывает «untrusted developer». Подключите iPhone к Mac снова и выполните ту же команду для переподписи — данные на месте, они на backend, не в приложении.
Продлить можно только Apple Developer Program ($99/год на developer.apple.com). Подпись тогда действует год между продлениями, плюс можно раздавать на другие устройства через TestFlight.
Обновление
Auto-update пока нет. Когда код Multica движется вперёд, подтяните и пересоберите:
git pull
pnpm install
pnpm ios:mobile:device:prod:releaseСледующие сборки быстрые — Xcode кэширует native compile.
Почему пока нет App Store
iOS-приложение ещё быстро меняется — команда предпочитает ship-and-iterate циклам App Store review. TestFlight beta — наиболее вероятный следующий шаг до полного релиза в App Store. До тех пор self-build выше — единственный способ Multica на iOS.
Чтобы получить уведомление об открытии TestFlight, следите за GitHub repo.
Troubleshooting
"No matching provisioning profiles found" — Xcode отказывается подписать default bundle id ai.multica.mobile вашим Apple ID. Редко, но бывает, если кто-то зарегистрировал этот prefix на developer portal Apple. Выберите любой reverse-domain под вашим контролем (com.yourname.multica подойдёт), экспортируйте и перезапустите:
export EXPO_BUNDLE_IDENTIFIER_PROD=com.yourname.multica
pnpm ios:mobile:device:prod:releaseId может быть любым — Apple нужен только незанятый идентификатор.
"Could not launch <app>" / "Untrusted Developer" — либо истёк 7-day limit (пересоберите), либо нужно вручную доверить developer profile на iPhone: Settings → General → VPN & Device Management → ваш Apple ID → Trust.
Сборка зависает на Pod install или компилируется очень долго — первая сборка реально 10–20 минут: CocoaPods качает зависимости, Xcode компилирует React Native. Дальше намного быстрее.
Приложение не достучится до backend — проверьте, что apps/mobile/.env.production не меняли (там EXPO_PUBLIC_API_URL=https://api.multica.ai). Если меняли — верните: git checkout apps/mobile/.env.production.