Skip to content

Build and Run

JEONG edited this page Jun 29, 2026 · 2 revisions

Build & Run

빌드 명령, 시크릿 설정, 테스트. 모듈 구조 상세는 Module Structure 참고.

요구 사항

  • iOS 26.0+ / Deployment Target iOS 26.3
  • Xcode 26.2
  • Swift 6.3
  • mise (Tuist 버전 고정용)

UMCApp (Tuist) — 표준 진입점

모든 신규·유지보수 작업은 UMCApp/에서 수행합니다. Tuist 버전은 mise.toml로 팀 전원 고정되며, Makefile이 mise exec -- 래퍼를 제공하므로 로컬 tuist 버전 차이가 발생하지 않습니다.

cd UMCApp

# 최초 1회 (신규 팀원)
brew install mise      # mise가 없다면
make bootstrap         # mise.toml 기반 tuist 설치
make install           # SPM 의존성

# 일상 작업
make generate          # .xcworkspace 생성
make open              # Xcode 열기 (없으면 자동 generate)
make test              # xcodebuild 테스트
make doctor            # 환경 진단 (mise/tuist/xcode 버전)
make reset             # 꼬였을 때 전체 초기화
make help              # 전체 타겟 목록

자세한 사용법은 저장소의 UMCApp/MAKEFILE_GUIDE.md 참고.

🔑 시크릿 설정

  • Secrets.xcconfig의 실제 키 값(BASE_URL, KAKAO_KEY)은 팀 내부 채널에서 수령해 설정합니다.
  • GoogleService-Info.plist는 내부 가이드에 따라 발급·배치합니다.
  • 실제 키·설정 파일은 원격 저장소에 업로드하지 않습니다.

테스트

# UMCApp (권장)
cd UMCApp && make test
  • 인증 연동 테스트에는 구성에 따라 별도 테스트 설정 파일이 필요할 수 있습니다. 내부 가이드를 참고하세요.

AppProduct (레거시 · 동결)

AppProduct/v2.2.0에 동결되어 있습니다. 열람·참고 전용이며 수정하지 않습니다.

# 열람용
open AppProduct/AppProduct.xcodeproj

트러블슈팅 메모

  • SwiftData CloudKit init failed 로그는 CloudKit 실패 후 로컬 폴백 상황일 수 있습니다.
  • 시뮬레이터에서는 APNS 토큰 미설정으로 FCM 토큰 발급이 제한될 수 있습니다.
  • Preview에서 ModelContainer 오류가 발생하면 in-memory 컨테이너 주입 여부를 확인하세요.
  • 빌드/생성이 꼬이면 cd UMCApp && make reset 후 다시 make generate.

관련 문서: Module Structure · Git Workflow

Clone this wiki locally