Большинство команд React Native и Expo в 2026 году пишут код на Windows или Linux, а iOS-сборку ведут на macOS: npx expo run:ios, нативные модули, подпись и TestFlight. Облачный EAS Build закрывает часть сценариев; при частых PR и кастомных Pod’ах выгоднее выделенный удалённый Mac M4 в US или APAC. Ниже — три яруса M4, кэш CocoaPods и SwiftPM, диск 1 ТБ/2 ТБ, матрица «минуты EAS» против аренды M4 Pro, self-hosted GitHub Actions runner и чеклист SSH/VNC.
1. Контур «Windows/Linux + удалённый Mac»: что локально, что на ноде
На рабочих станциях — Metro, Jest и Android. На удалённом Mac — Xcode, pod install, xcodebuild и подпись. Для Expo: EAS в облаке Expo или eas build --local по SSH. Не смешивайте на одном пользователе macOS два продукта с разными сертификатами без изоляции.
Регион US и APAC
Интерактив VNC чувствителен к RTT; CI по SSH терпимее, но важны npm, CocoaPods CDN и GitHub.
| Критерий | Ориентир: США (запад/восток) | Ориентир: APAC |
|---|---|---|
| Интерактив VNC и Xcode | Лучше для штаба в Америке; проверьте корпоративный VPN на MTU и split-tunnel | Лучше для штаба в Азии; следите за политикой исходящих портов для Screen Sharing |
| CI только по SSH | Часто ближе к GitHub и крупным зеркалам CocoaPods/SwiftPM в Северной Америке | Выгодно, если кэш и артефакты уже в азиатском объектном хранилище |
| Ночные релизы | Согласуйте окно с дежурным в США | Согласуйте с дежурным в APAC, чтобы не оставлять VNC-сессию без наблюдения |
2. Три яруса M4 под Expo и React Native iOS
Ярус 1 — Mac mini M4: один продукт, периодические expo prebuild и релизы. Ярус 2: больше RAM/SSD — несколько веток и job с очередью. Ярус 3 — M4 Pro: монорепо или несколько приложений. Для managed workflow без нативных правок часто хватает EAS; с кастомными Pod’ами удалённый Mac предсказуемее.
3. Кэш CocoaPods и SwiftPM: 1 ТБ против 2 ТБ, EAS vs аренда Mac
Вынесите на постоянный том ~/Library/Caches/CocoaPods, кэш SwiftPM и DerivedData; отдельный каталог под .expo и артефакты eas build --local. 1 ТБ — один продукт с weekly clean; 2 ТБ — несколько приложений без ночных инцидентов. Постоянный диск runner — в
FAQ по самохостинговым Mac runner и постоянному диску.
| Сценарий RN/Expo | EAS (минуты) | Удалённый Mac |
|---|---|---|
| Редкие релизы, мало нативного кода | Часто дешевле по счёту минут | Имеет смысл при NDA и контроле секретов |
| Ежедневные PR, тяжёлый prebuild | Минуты растут нелинейно | Фиксированная аренда + свой кэш Pod/SwiftPM |
| Средний срок (недели–квартал) | Сравните план EAS с арендой M4 | Один M4 Pro 2 ТБ часто выигрывает у пика минут |
Гибрид EAS, Xcode Cloud и аренды Mac — материал про гибрид iOS CI и минуты облака.
4. GitHub Actions: self-hosted runner на удалённом Mac
Установите runner под отдельным пользователем macOS с метками macos, ios, expo-<sdk>. Типовой workflow: checkout → npm ci → при изменении нативного слоя npx expo prebuild --platform ios → pod install → xcodebuild или eas build --local. Секреты — через GitHub Environments. Android оставьте на Linux runner; iOS job направляйте только на Mac. Краткая аренда (дни–неделя) — минимальный SSD; средняя (квартал CI) — 2 ТБ и стабильный Keychain: час простоя команды часто дороже дельты тарифа.
5. Чеклист приёмки SSH и VNC
- SSH:
xcodebuild -version,node -v,pod --version,eas --versionсовпадают с документацией команды. - Кэш: повторный
pod installбыстрее холодного; SwiftPM не качает всё заново. - Диск: не менее 25 % свободно на томе DerivedData; алерт на 85 %.
- VNC: читаемый масштаб Xcode; тестовая подпись без Apple ID в сессии.
- Runner: тестовый workflow с меткой ноды завершается success.
6. FAQ
Только EAS без Mac? Да для managed workflow; при частых prebuild и кастомных Pod’ах аренда Mac предсказуемее.
WSL2 на Windows для iOS? Нет — toolchain только на macOS.
Один Mac на US и APAC? Возможно; для дальней команды VNC неудобен — чаще две ноды.
Краткая vs средняя аренда? На дни — минимальный SSD; на квартал — 2 ТБ и стабильный кэш.
Почему для React Native и Expo удобны Mac mini и macOS
Нативный слой iOS живёт только на macOS. Mac mini M4 даёт высокую пропускную памяти, компактный корпус и низкое энергопотребление в простое — удобно для CI 24/7. Gatekeeper, SIP и FileVault снижают риск подмены toolchain; Unix, Homebrew и SSH упрощают согласование с security. Чтобы закрепить контур Expo на выделенном железе без долгой закупки, откройте главную страницу Macstripe и подберите регион US или APAC под команду на Windows и Linux.