피드로 돌아가기
Shipping an iOS App Without a Mac — Flutter Firebase Gemini AI
Dev.toDev.to
Infrastructure

Codemagic 기반 Windows 환경 iOS 배포 및 Gemini AI 기반 레시피 추천 시스템 구현

Shipping an iOS App Without a Mac — Flutter Firebase Gemini AI

Hazuki | Indie Dev2026년 4월 27일7intermediate

Context

Mac 하드웨어 부재라는 인프라 제약 상황에서 iOS 앱 배포 및 실시간 가족 공유 인벤토리 시스템 구축 필요성 증대. 기존 일반 인벤토리 앱의 실시간 동기화 부족과 AI 기반 개인화 추천 기능의 부재를 해결하기 위한 아키텍처 설계 추진.

Technical Solution

  • Codemagic Cloud CI/CD 도입을 통한 Windows 환경 내 iOS 빌드 및 App Store Connect API 기반 자동 인증서 관리 체계 구축
  • RevenueCat Webhook의 CANCELLATION과 EXPIRATION 이벤트를 분리하여 결제 주기 종료 시점까지 Premium 권한을 유지하는 상태 관리 로직 구현
  • Gemini-2.5-flash를 메인으로 Gemini-2.5-pro를 Fallback으로 구성하고 120초 Timeout을 설정한 AI 파이프라인 설계
  • Prompt 상단에 'ABSOLUTE PRIORITY' 섹션을 배치하여 알레르기 제한 사항에 대한 LLM의 제약 조건 준수율 향상
  • Riverpod의 StreamProvider와 Firestore를 연동하여 데이터 로딩 완료 후 Repository가 인스턴스화되는 비동기 초기화 순서 보장
  • Cloud Functions를 통한 Gemini API 프록시 구조 설계로 API Key 보안 강화 및 서버리스 기반의 요청 제어 구현

- Cloud CI/CD(Codemagic 등) 활용 시 App Store Connect API Key를 통한 자동 서명 설정 검토 - 구독 시스템 설계 시 구독 취소(Cancellation)와 만료(Expiration)의 비즈니스 로직 차이 반영 필수 - LLM 프롬프트 설계 시 핵심 제약 사항을 최상단에 배치하고 강한 강조어(MUST FOLLOW) 사용 권장 - 상태 관리 라이브러리 사용 시 의존성 주입 순서와 비동기 데이터 로딩 시점의 일치 여부 확인

원문 읽기