1편에서 비개발자의 앱 출시 후기를, 2편에서 AI 툴로 만드는 과정을 다뤘어요. 이번 3편은 아마 지금 실제로 앱을 만들고 계신 분께 제일 도움이 될 편이에요. 바로 개발하면서 실제로 만난 오류들과, 그걸 어떻게 해결했는지입니다.
먼저 안심하시라고 말씀드리면, 오류를 만나는 건 실패가 아니라 정상 과정이에요. 코딩을 모르는 저도 아래 오류들을 하나씩 넘기면서 결국 출시했으니까요. 아래는 크게 두 종류로 나눴어요. 앞쪽은 개발 환경·설정에서 생기는 누구나 겪을 수 있는 오류, 뒤쪽은 제 앱에서 생긴 로직(기능) 버그예요. 본인이 겪는 오류 메시지로 바로 찾아보실 수 있게 소제목에 에러 문구를 그대로 적어뒀어요.
1부. 환경·설정에서 만난 오류
npm error ECOMPROMISED Lock compromised — 반복되는 npm 오류
증상. 개발 중 이 오류가 총 3번이나 반복해서 떴어요.
npm error ECOMPROMISED Lock compromised
원인. 솔직히 정확한 원인은 끝까지 파악하지 못했어요. 다만 아래 방법으로 매번 깔끔하게 해결됐습니다.
해결. 캐시를 비우고, 잠금 파일과 모듈 폴더를 지운 뒤 다시 설치했어요. (Windows PowerShell 기준)
npm cache clean --force
Remove-Item -Force package-lock.json
Remove-Item -Recurse -Force node_modules
npm install
같은 오류를 만나셨다면 이 4줄을 순서대로 실행해 보세요. 원인을 몰라도 해결은 됩니다.
엉뚱한 폴더에서 expo를 실행하는 실수
증상. 분명히 명령어를 제대로 입력했는데 계속 이상하게 동작했어요.
원인. 프로젝트 폴더가 두 개(baseball-team-manager-app, BaseballManager)였는데, 자꾸 엉뚱한 폴더에서 expo를 실행하고 있었던 거예요. 오류가 아니라 위치 문제였죠.
해결. 명령어를 실행하기 전에 지금 내가 어느 폴더에 있는지 먼저 확인하는 습관을 들이니 사라졌어요. 초보자가 은근히 자주 하는 실수라, 뭔가 계속 안 되면 폴더 위치부터 의심해 보세요.
Expo Go에서 AdMob 광고가 안 뜬다? (사실 오류가 아님)
증상. Expo Go 앱으로 테스트하는데 광고(AdMob)가 전혀 안 떠서 "연동이 잘못됐나?" 하고 한참 헤맸어요.
원인. 이건 오류가 아니었어요. AdMob 광고는 Expo Go가 아니라 실제 빌드에서만 작동하는 정상 동작이었던 거예요.
해결. 고칠 게 없었어요. Expo Go에서 광고가 안 보이는 건 당연한 거라, 실제 빌드로 확인하면 됩니다. 저처럼 여기서 시간 낭비하지 마세요.
429 You exceeded your current quota — Gemini API 할당량 초과
증상. AI 추천 기능을 테스트하는데 이 오류가 떴어요.
429 You exceeded your current quota
원인. 사용하던 모델의 무료 할당량을 초과한 거예요.
해결. 모델을 gemini-2.0-flash에서 gemini-1.5-flash로 바꾸고, AI가 응답하지 못할 때를 대비한 폴백(fallback) 처리를 넣어서 해결했어요. 폴백을 넣어두면 AI 호출이 실패해도 앱이 멈추지 않고 대체 동작을 하게 돼서, 이런 할당량 문제에 훨씬 안정적이에요.
코드를 고쳐도 Expo Go에 반영이 안 될 때 (캐시 문제)
증상. 코드를 분명히 수정했는데 Expo Go에서는 예전 화면 그대로 나오는 일이 반복됐어요.
원인. 캐시가 남아서 변경 사항이 반영되지 않은 거였어요.
해결. 실행할 때 --clear 옵션으로 캐시를 비우고, 그래도 안 되면 Expo Go 앱을 재설치했더니 해결됐어요. "분명 고쳤는데 왜 안 바뀌지?" 싶을 땐 코드가 아니라 캐시를 의심해 보세요.
2부. 앱 로직에서 만난 버그
여기부터는 제 야구 앱에만 있는 기능 버그라, 오류 메시지로 검색되는 종류는 아니에요. 다만 **"AI가 짜준 코드에도 이런 논리 버그가 생기고, 이렇게 잡는다"**는 감을 잡으시라고 함께 적어둘게요.
타순·포지션이 저장되지 않는 문제
증상. 경기 설정에서 타순과 포지션을 정해도, 나갔다 들어오면 저장이 안 돼 있었어요.
원인. 해당 화면(GameSettingsScreen)이 타순·포지션을 화면 안의 임시 상태로만 들고 있고, 실제로 저장하는 처리를 하지 않고 있었어요.
해결. 저장을 담당하는 처리(dispatch)에 연결해 주니 제대로 저장됐어요.
팀원 10명 중 7명만 포지션 목록에 표시
증상. 팀원이 10명인데 포지션 배치 화면에는 7명만 나왔어요.
원인. 목록을 걸러내는 필터링 조건이 잘못돼서 일부 인원이 빠진 거였어요.
해결. 필터링 조건을 바로잡으니 10명이 모두 표시됐어요.
이닝이 넘어갈 때 타순이 밀리거나 당겨지는 버그 (off-by-one)
증상. 이게 제일 골치 아팠어요. 4→5이닝으로 넘어갈 때 타순이 한 칸 밀리는 버그를 고쳤더니, 이번엔 반대로 5→6이닝에서 타순이 당겨지는 새로운 버그가 생겼어요.
원인. 숫자 계산이 하나씩 어긋나는 이른바 off-by-one 오류였어요. 한 군데만 임시로 고치면 다른 데서 또 어긋나는 종류라, 부분 수정으로는 끝이 안 났어요.
해결. 결국 타순 계산 로직 전체를 다시 검토해서 근본 원인을 잡았어요. 이런 계산 버그는 한 곳만 땜질하지 말고 계산 흐름 전체를 점검하는 게 빠른 길이더라고요.
오류를 만났을 때, 기본 대처법
마지막으로 초보자 입장에서 배운 대처의 기본을 정리할게요.
가장 먼저 한 일은 에러 메시지를 그대로 복사해서 AI에게 물어보는 것이었어요. 메시지를 요약하지 말고 있는 그대로 붙여넣는 게 중요해요. 그래야 AI가 정확한 원인을 짚어주거든요. 그리고 2편에서 말한 것처럼 한 번에 하나씩 고치는 게 핵심이에요. 여러 개를 동시에 건드리면 어디서 해결됐는지 알 수 없어서 오히려 꼬여요. 마지막으로 빨간 글씨가 떠도 그게 경고(warning)인지 오류(error)인지 구분하세요. 경고는 무시해도 앱이 잘 돌아가는 경우가 많습니다.
정리하며 — 다음 편 예고
오류는 겁낼 대상이 아니라 하나씩 통과하는 관문이에요. 위 8가지를 넘기고 나니 드디어 앱을 세상에 내놓을 차례가 왔어요. 다음 편에서는 마지막 관문, **구글 플레이 비공개 테스트(테스터 12명·14일)**를 초보자가 어떻게 통과하고 정식 출시까지 했는지 풀어드릴게요. 개인 개발자라면 반드시 거쳐야 하는 단계라, 아마 제일 궁금하실 거예요.
👉 이어지는 시리즈
- 1편 — 코딩 모르는 비개발자가 AI로 앱 만들어 출시한 후기 (비용 편) https://sonamu-sy.tistory.com/21
- 2편 — AI로 앱 만드는 법: Claude·Claude Code·v0.dev 역할 분담 https://sonamu-sy.tistory.com/22
- 4편 — 구글 플레이 비공개 테스트 12명·14일, 초보자가 통과하고 출시까지 https://sonamu-sy.tistory.com/24
'투자 & 부업 (Side Money)' 카테고리의 다른 글
| ④ 구글 플레이 비공개 테스트 12명·14일, 초보자가 통과하고 출시까지 (feat. 테스터 모집) (1) | 2026.07.10 |
|---|---|
| ② AI로 앱 만드는 법: Claude·Claude Code·v0.dev 역할 분담 (비개발자 실전 후기) (0) | 2026.07.10 |
| ① 코딩 모르는 비개발자가 AI로 앱 만들어 플레이스토어 출시한 후기 (feat. Claude·v0.dev) (0) | 2026.07.10 |
| ETF란? 주식처럼 사고파는 펀드의 모든 것 (0) | 2026.07.10 |
| NPL 투자란? 부실채권으로 돈 버는 법, 수익 구조까지 완벽 정리 (0) | 2025.05.22 |