Codex만으로 첫 iOS 앱을 완전히 출시했습니다 — 효과적이었던 점, 놀랐던 점

발행: (2026년 5월 7일 AM 04:52 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

Overview

드디어 Rushi 를 출시했습니다 — 지난 4개월 동안 Codex와 혼자서 만든 첫 iOS 앱입니다. 특히 iOS 프로젝트에서 Codex를 주요 코딩 파트너로 고려하고 있는 분들을 위해 제가 배운 점을 공유하고 싶습니다.

What Worked

  • 자연어 설명으로부터 SwiftUI 스캐폴딩 – 첫 번째 반복에서도 사용 가능했으며, 레이아웃의 약 80 %가 첫 번째 생성에서 정확했습니다.
  • Localization – Codex가 영어 시드 파일을 기반으로 17개 언어의 .strings 파일을 모두 생성했으며, 문화적 뉘앙스(예: 베트남어 불교 용어에 대한 경칭, 티베트어 음역)까지 처리했습니다.
  • SwiftData 마이그레이션 코드 – 스키마를 중간에 변경했을 때 필요한 마이그레이션 단계들을 자동으로 만들어 주었습니다.
  • CJK 폰트를 위한 CoreText 폴백 체인 – Codex가 iOS 17의 UIFont에서 발생하는 중국어 세리프 폰트 버그를 찾아내고, CTFontDescriptor와 명시적 폴백을 사용할 것을 권장했습니다.
  • Apple Search Ads 키워드 조사 – ASA가 보여주는 고볼륨 키워드와 일치하는 경쟁 키워드 리스트를 생성했습니다.
  • Apple‑specific UX nuance – 햅틱 타이밍, 라지 타이틀 동작, 다이내믹 타입 quirks 등을 미세 조정하는 데 도움을 주었으며, 스크린샷을 여러 차례 제공해야 했습니다.
  • App Store 메타데이터 – 프라이버시 라벨과 연령 등급을 도와주었고, 실제 데이터 흐름을 제가 검증한 뒤 적용했습니다.

Surprises & Gotchas

  • 오디오 동시성 – Codex가 종종 액터(actor)를 사용한 과도한 설계를 제시했으며, 실제로는 간단한 AVAudioPlayer 로 충분했습니다.
  • 의존성 선택 – Codex는 “인기 있는” 라이브러리를 제안하는 경향이 있어, 혼자 개발하는 앱에서는 최소한의 의존성을 유지하는 것이 좋았습니다.
  • 부분 컨텍스트 – SwiftUI 뷰 파일의 일부만 보여주면 레이아웃이 절반만 깨지는 문제가 발생했습니다; 반복할 때는 전체 파일을 제공해야 합니다.
  • 에러 처리 – 정확한 Xcode 에러 텍스트(줄 번호 포함)를 그대로 붙여넣으면 Codex가 가장 잘 매핑합니다.
  • 프라이버시 라벨 문구 – 실제 데이터 흐름을 기반으로 라벨을 생성하도록 요청하고, “우리는 X를 수집하지 않는 것 같다”와 같은 추측을 피하세요.

Results

  • App Store 리뷰: 2일, 거절 없음.
  • 언어: UI 17개 언어, 전체 텍스트 9개 언어.
  • 안정성: TestFlight 베타에서 충돌 0회.
  • 수익화: 첫 주는 무료, 이후 $1.99; 초기 사용자는 구매 이력으로 영구 무료 유지.

Metrics

  • Codex 토큰 사용량: 입력 토큰 약 5천만 개, 출력 토큰 약 300만 개.
  • 오픈소스: Sutra 텍스트는 CC0 1.0으로 공개; 앱 소스는 GitHub에 제공됩니다.

Repository

github.com/hooosberg/Rushi

코덱스, SwiftUI, CoreText 등에 대해 궁금한 점이 있으면 댓글로 자유롭게 질문해주세요.

0 조회
Back to Blog

관련 글

더 보기 »

시스템 설계 트레이드오프

스케일링 - 수직 스케일링 vs 수평 스케일링 - 확장성 vs 성능 일관성 및 가용성 - 일관성 vs 가용성 CAP - 강한 일관성 vs 최종 일관성