React Native·Expo 팀은 Windows·Linux에서 JS 번들·Android는 로컬로 돌리지만, iOS Archive·서명·TestFlight는 macOS·Xcode가 필수입니다. 2026년 현실적인 선택은 EAS Build(분·동시 빌드 과금)와 미동부·아태 고정 원격 Mac(전용 M4·캐시·자가 호스팅 Runner)입니다. CocoaPods·SwiftPM·node_modules 디스크 전략은
더보기: CocoaPods·SwiftPM·대용량 저장소 디스크 FAQ,
GitHub Actions 캐시·디스크 영구화는
더보기: 자가 호스팅 Runner·Actions Cache FAQ를 참고하세요.
1. Windows·Linux 개발 + iOS 빌드 분리
로컬은 npx expo start·Metro·Android Gradle, iOS는 원격 Mac에서 xcodebuild·pod install·Fastlane을 고정합니다. 팀이 북미·아시아에 흩어져 있으면 미동부(미국 서부 등)와 아태(서울·도쿄·싱가포르)에 각각 한 대씩 두고 RTT를 줄이세요.
더보기: TestFlight·App Store 원격 Mac 리전 FAQ
2. M4 3단 구성(Expo·RN 기준)
1단 PR·expo prebuild·린트, 2단 Release Archive·중형 워크스페이스, 3단 대형 모노레포·다중 flavor·EAS 대체 풀빌드(M4 Pro+1TB급). Expo SDK 업그레이드 주에는 3단만 Xcode 버전을 올려 재현을 고정하세요.
3. CocoaPods·SwiftPM 캐시
~/Library/Caches/CocoaPods·SwiftPM SourcePackages·DerivedData를 NVMe에 고정하고 Runner 레이블별로 분리합니다. Podfile.lock 변경 시에만 pod install 전체, 그 외에는 캐시 히트를 CI 로그에 남기세요. Expo prebuild 후 native 디렉터리가 바뀌면 캐시 키에 app.json 해시를 넣습니다.
4. 1TB/2TB 병렬 vs EAS·단일 Pro 행렬
월간 iOS 빌드 횟수·동시성·캐시 히트율로 임가(임대+운영+EAS 분)를 비교합니다.
| 옵션 | 단기(스파이크) | 중기(주 5회+) |
|---|---|---|
| EAS 분·동시 빌드 | 캐시 없을 때 분↑ | 예측 어려움 |
| M4×2·1TB/2TB | PR·릴리스 분리 | 운영·키 분산 |
| M4 Pro 단일·대용량 | 단가↑ | 캐시·재현 유리 |
하이브리드도 가능합니다: 일상은 EAS, 서명·커스텀 네이티브 모듈·내부망만 원격 Mac에서 xcodebuild.
5. GitHub Actions 자가 호스팅 Runner
원격 Mac에 actions-runner를 설치하고 레이블 macos-m4-ios 등으로 워크플로를 고정합니다. runs-on: self-hosted·Node·Ruby 버전을 맞추고, 시크릿은 GitHub Environments로 분리하세요. Windows/Linux에서 트리거된 PR은 원격에서만 iOS job을 실행합니다.
워크플로 예: on: pull_request에서 Android는 ubuntu-latest, iOS는 macos-m4-ios로 분기합니다. Mac 노드에서 prebuild부터 Archive까지 실행하면 네이티브 디렉터리 불일치를 줄일 수 있습니다.
6. SSH·VNC 검수 체크리스트
- SSH: 키 로테이션·KnownHosts·점프 호스트 문서화
- VNC: 해상도 낮춤·GUI job과 CLI job 계정·포트 분리
xcodebuild -version·pod --version·node -v스냅샷을 릴리스 태그에 기록- 야간: 화면 잠금·세션 타임아웃·불필요한 시뮬레이터 종료
7. FAQ
- Expo만 쓰면 Mac 없나? Store 제출·커스텀 네이티브는 macOS가 필요합니다.
- EAS vs 전용 Mac: 빌드 수가 많고 캐시가 쌓이면 전용 Mac·Runner가 유리한 경우가 많습니다.
- 1TB×2 vs 2TB×1: 단기 병렬, 중기 단일 Pro가 운영이 단순합니다.
- Windows에서 서명 키: 키체인·Match는 Mac 노드에만 두세요.
Mac mini·macOS로 Expo iOS 파이프라인 고정
Mac mini M4는 통합 메모리로 xcodebuild·Hermes 번들링에 유리하고 유휴 전력이 낮아 24시간 Runner에 적합합니다. macOS는 CocoaPods·SwiftPM·Xcode 버전을 팀과 동일하게 맞추기 쉽고, Gatekeeper·SIP·FileVault로 기준이 분명합니다. Windows·Linux 개발과 iOS 빌드를 나눌 때도 TCO·재현성은 전용 Apple Silicon이 유리합니다.
원격 Mac으로 검증한 뒤 로컬 베이스라인을 맞추려면 Mac mini M4가 출발점입니다. Macstripe 홈에서 리전·스토리지를 비교한 뒤 하단 CTA로 이어가거나, 지금 Mac mini M4 도입을 검토해 보시기 바랍니다.