Как поставить Flutter-игру на iPhone друга без Mac и Apple Developer
Поставить Flutter-игру на iPhone без Mac и Apple Developer Program можно: код собирают на облачном macOS-раннере (Codemagic, GitHub Actions), IPA подписывают бесплатным Apple ID через Sideloadly, установка идёт с обычного Windows-компьютера. Ограничение — сертификат живёт 7 дней, и приложение придётся пересобирать или переподписывать каждую неделю.
флаттер отказался собирать ios-билд на моём ноутбуке
Два месяца писал раннер на Flutter для приятеля, который делает похожие вещи на Unity и попросил показать результат не в эмуляторе, а живьём, на его iPhone 13. Код готов, на Android-телефоне flutter run гоняет игру без единой жалобы, физика прыжков и коллизии отработаны за десятки тестовых прогонов. Набираю flutter build ios — и вместо сборки терминал выдаёт одну строку: Building for iOS is not supported on this platform. Ноутбук на Windows, Mac дома нет и никогда не было, а покупать его ради одного показа не хотелось с самого начала.
Flutter компилирует Dart в нативный ARM-код через тулчейн Xcode, а Xcode работает только под macOS — так решила Apple, и обойти это флагами сборки или сторонними плагинами Flutter не получится ни при каком раскладе, сколько бы форумов ни перечитал. Первая мысль — занять у кого-то Mac mini на вечер, благо у знакомых такие есть. Вторая — посчитать, во что это выльется, если считать честно, а не по инерции, потому что для одной демонстрации схема должна быть быстрее и дешевле, чем сам проект игры.
почему mac и apple developer program под один телефон друга не окупаются
Дешёвый Mac mini на вторичном рынке в Москве стоит от 35–40 тысяч рублей — и это ради одной сборки одной небольшой игры, которую покажут одному человеку один раз. Почасовая аренда виртуального Mac дешевле разового вложения, но добавляет отдельный шаг настройки окружения на каждый заход и требует стабильного канала до удалённого рабочего стола. Второй счёт — Apple Developer Program, 99 долларов в год, без которой не работают ни TestFlight, ни публикация в App Store, ни push-сертификаты. Эта программа рассчитана на разработчика, который держит приложение в сторе годами; для разовой демонстрации другу она избыточна вдвойне — и деньгами, и временем на верификацию аккаунта, которая у физлица занимает от суток до недели, а у компании — дольше из-за проверки DUNS-номера.
Apple сама оставляет лазейку для этого случая. Бесплатный Apple ID можно превратить в так называемую personal team прямо в Xcode и подписывать приложения для собственных тестовых устройств без единого доллара — это официальная, задокументированная возможность, а не серый обход. Ограничение одно: такая подпись живёт семь дней. Для одноразового показа игры другу это не проблема. Для рабочего распространения — уже да, и об этом дальше.
как поставил игру без мака — по шагам
сборка в облаке
Xcode нужен только для сборки и подписи, а не для написания кода — значит, именно этот шаг можно вынести на чужой macOS, а писать и отлаживать Dart-код по-прежнему на своём Windows-ноутбуке. Рабочих варианта два: облачный CI с macOS-раннерами вроде Codemagic или GitHub Actions с runs-on: macos-latest, либо почасовая аренда виртуального Mac по SSH и VNC у одного из сервисов облачных Mac-станций. Настроил job, который клонирует репозиторий, ставит нужную версию Flutter SDK и запускает flutter build ipa --no-codesign. На выходе — несобранный, ещё не подписанный архив .ipa, который скачиваю на свой Windows-компьютер обычной ссылкой из артефактов сборки.
подпись бесплатным apple id
Дальше в дело идёт Sideloadly — бесплатная утилита под Windows, macOS и Linux, которая берёт готовый .ipa и сама обращается к серверам Apple: создаёт временный сертификат разработки на введённый Apple ID и провизионный профиль под конкретный iPhone, регистрируя его UDID. Xcode для этого шага не требуется вообще — нужен только сам Apple ID, лучше отдельный от основного, и одноразовый app-specific пароль к нему, который Apple выдаёт в настройках аккаунта отдельно от обычного пароля.
установка на телефон друга
Подключаю его iPhone к ноутбуку кабелем, в Sideloadly указываю файл .ipa и данные Apple ID, жду около минуты, пока утилита обменивается данными с серверами Apple, — иконка игры появляется на экране рядом с остальными приложениями. При первом запуске Apple блокирует её с формулировкой про ненадёжного разработчика: система не доверяет сертификатам, выпущенным не через App Store, пока пользователь не подтвердит это вручную. Заходим в Настройки, затем Основные, затем VPN и управление устройством, вручную подтверждаем доверие сертификату — и игра открывается, физика та же, что и на Android-сборке.
что не работает на бесплатном пути
На восьмой день друг написал, что игра не открывается: иконка дрожит и ничего не происходит, как будто удаляешь приложение. Бесплатный сертификат Apple выдаёт ровно на 7 суток, дальше приложение считается недоверенным, пока его не подпишут заново с нуля. Для магазинного продукта это была бы катастрофа для репутации, для домашнего эксперимента — просто повод раз в неделю подключать телефон кабелем и повторять весь цикл заново, благо сама процедура после первого раза занимает минут пять.
На этом ограничения не заканчиваются.
- ✓Семидневный сертификат нельзя продлить без переподписи — нужен физический доступ к телефону или отдельный сервис вроде SideStore, который переподписывает приложение по Wi-Fi, пока телефон и компьютер-помощник раз в неделю оказываются в одной сети без участия владельца.
- ✓Бесплатный Apple ID держит ограниченное число активных подписей на одном устройстве одновременно — при установке ещё одного такого же тестового приложения самое старое просто перестаёт открываться без предупреждения.
- ✓Push-уведомления не работают: сертификат для APNs Apple выдаёт только платным аккаунтам разработчика, так что протестировать пуши этим способом нельзя в принципе, никакие настройки Sideloadly это не обходят.
- ✓TestFlight недоступен, значит, разослать сборку сразу пяти-десяти тестерам без того, чтобы физически подключать каждый телефон кабелем по очереди, не получится — масштаб упирается в количество свободных вечеров.
Для одного демо другу этого достаточно с запасом. Ставка меняется, если игра — не хобби-проект, а часть продукта, который нужно показать инвестору через месяц или раздать полноценной группе бета-тестеров: тогда еженедельная беготня с кабелем и сорванные из-за истёкшего сертификата показы съедают больше времени, чем стоила бы годовая подписка, а нервов — куда больше, чем сама разработка.
четыре способа поставить приложение на iphone — сравнение
Собрал варианты, которые перебирал сам, в одну таблицу — со стоимостью и тем, где каждый упирается в потолок.
| способ | стоимость | срок жизни сборки | для чего годится |
|---|---|---|---|
| Free Apple ID + Xcode на своём Mac | 0 ₽ (плюс сам Mac) | 7 дней, дальше пересборка | разовый тест на 1–2 своих устройствах |
| Free Apple ID + Sideloadly без Mac | 0 ₽ + минуты облачного CI | 7 дней, ручная переподпись | показать демо другу или паре тестеров |
| Apple Developer Program + TestFlight | 99 $/год | до 90 дней на сборку, профиль на год | бета-тест у команды и внешних пользователей |
| Полный цикл разработки и публикации под ключ | от 500 000 ₽ за проект | поддерживается пока действует договор | рабочее приложение для сотрудников или клиентов бизнеса |
когда бизнесу нужен не обходной путь, а нормальный аккаунт разработчика
Схема с Sideloadly честно решает свою задачу: показать другу собранную игру без покупки Mac и без ненужной подписки. Для бизнеса та же логика ломается на первом реальном сценарии. Приложение для десяти курьеров, склада или выездных мастеров нельзя раз в неделю обходить с кабелем — люди в разных концах Москвы, а не за соседним столом. А если в приложение встроен обмен данными с учётной системой, простой из-за истёкшего сертификата — это остановленные заявки и не отгруженные заказы, а не забавная дрожащая иконка на экране.
Для такого случая мы в ukved разворачиваем полный контур: регистрируем Apple Developer Program на юрлицо заказчика, настраиваем автоматическую сборку и подпись через CI, чтобы обновления выходили без ручной возни, публикуем бету в TestFlight или сразу в App Store после ревью. Если приложению нужен обмен данными с учётной системой — заявки, остатки, статусы заказов, — подключаем его так, как описано на странице интеграции приложения с 1С. Для внутренних сервисов, которые видят только сотрудники — склад, доставка, полевые задания, — собираем отдельное B2B-приложение с 1С без выхода в публичный App Store вовсе, что снимает и вопрос модерации, и лимиты бесплатной подписи разом.
Полная разработка мобильного приложения под ключ — от 500 000 рублей за проект; в эту сумму входит и сам Apple Developer аккаунт на юрлицо клиента, и сборка, и публикация, и первый цикл поддержки после запуска. Что конкретно входит в проект такого масштаба и сколько стоят отдельные этапы — на странице тарифов.
❓ Частые вопросы
Можно ли поставить Flutter-приложение на iPhone вообще без компьютера?
Нет — Apple требует подписи сборки сертификатом разработчика, а получить его без компьютера нельзя: нужен Mac, Windows или Linux с утилитой вроде Sideloadly. Сам код можно писать где угодно, компьютер нужен только на шаге подписи и установки, а сборку делают в облаке.
Сколько живёт приложение, поставленное бесплатным способом?
Ровно 7 дней — таков срок бесплатного сертификата разработки Apple для personal team. После этого иконка перестаёт открываться, приложение считается недоверенным, пока его не переподпишут заново — вручную кабелем или автоматически по Wi-Fi через сторонние инструменты вроде SideStore.
Заменяет ли Sideloadly подписку Apple Developer Program?
Нет, это разные вещи. Sideloadly — инструмент подписи бесплатным Apple ID для тестовых устройств, программа за 99 долларов в год — официальный статус разработчика с доступом к TestFlight, App Store и push-уведомлениям. Для демо другу хватает первого, для рабочего продукта нужен второй.
Что произойдёт, если так распространять корпоративное приложение среди сотрудников?
Оно будет слетать каждую неделю без переподписи, не сможет присылать push-уведомления и упрётся в лимит одновременных подписей на бесплатном Apple ID. Для десяти и более сотрудников нужен платный Apple Developer Program и распространение через TestFlight или отдельный внутренний контур.
Можно ли собрать iOS-версию Flutter-приложения вообще без Xcode?
Xcode как программу устанавливать локально не обязательно, но сама сборка всё равно идёт через его тулчейн на удалённом macOS: облачный CI-раннер или арендованный виртуальный Mac выполняет flutter build ipa за вас, а результат вы скачиваете и подписываете уже на своём компьютере.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

