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
코덱스, SwiftUI, CoreText 등에 대해 궁금한 점이 있으면 댓글로 자유롭게 질문해주세요.