화면을 터치해 숫자를 세고, 필요할 때 숫자를 줄이거나 초기화하거나 직접 변경할 수 있는 모바일 계수기 앱입니다. 복잡한 기능보다 빠른 개발과 실제 출시 검증에 집중했으며, 첫 번째 앱에서 겪었던 Google Play 출시 오류를 다시 확인하기 위해 진행한 프로젝트입니다.
소식 받기
0
개요
계수기 - 터치로 세기는 화면을 탭해 숫자를 1씩 올리는 모바일 계수기 앱입니다.
사용자는 화면을 터치해 숫자를 증가시킬 수 있고, 버튼을 통해 숫자를 감소시키거나 0으로 초기화하거나 원하는 숫자로 직접 변경할 수 있습니다. 단순한 수량 세기, 운동 반복 횟수 기록, 게임 점수 기록, 재고 확인처럼 빠르게 숫자를 기록해야 하는 상황을 위한 가벼운 도구 앱으로 구성했습니다.
이 프로젝트에서 확인하고 싶었던 것은 Flutter를 이용한 짧은 개발 주기와 Google Play Store 출시를 다시 시도였습니다.
첫 번째 프로젝트였던 CheerUp Mini는 Flutter 앱 개발과 스토어에 출시를 경험하기 위한 프로젝트였습니다. 하지만 Google Play Store 프로덕션 출시 과정에서는 “예기치 않은 오류가 발생했습니다”라는 문제가 반복적으로 발생했습니다.
이 문제가 개발자 계정 전체의 문제인지, 아니면 특정 앱의 Play Console 상태에서만 발생한 문제인지 확인할 필요가 있었습니다. 그래서 기능 범위를 더 작게 제한한 두 번째 앱을 만들고, 같은 계정에서 Google Play Store 출시가 정상적으로 가능한지 확인하기로 했습니다.
계수기 앱을 선택한 이유는 명확했습니다. 기능 자체가 단순하기 때문에 서비스 기획보다 개발·출시·심사·광고 적용 과정에 집중할 수 있었기 때문입니다. 복잡한 서버 기능이나 로그인, 결제 기능을 넣기보다, 짧은 시간 안에 완성 가능한 앱을 실제 스토어에 올리는 것이 이 프로젝트의 핵심 목표였습니다.
이 프로젝트에서 목표는 다음과 같습니다.
목표
이유
짧은 개발 주기 확인
첫 번째 앱에서 얻은 개발 경험을 바탕으로 더 단순한 앱을 빠르게 완성할 수 있는지 확인하기 위해
Google Play Store 출시 재확인
첫 번째 앱에서 발생한 프로덕션 출시 오류가 다른 앱에서도 반복되는지 확인하기 위해
배경과 목표
핵심 기능
숫자 증가
화면을 터치하면 현재 숫자가 1씩 증가
숫자 감소
감소 버튼을 통해 현재 숫자를 1씩 감소
숫자 초기화
현재 숫자를 0으로 초기화
숫자 직접 변경
사용자가 원하는 숫자를 직접 입력해 현재 값 변경
가변 텍스트 크기
숫자 자릿수가 늘어나도 화면 안에서 자연스럽게 보이도록 글자 크기 조정
인앱 광고
Google AdMob을 통한 광고
개발 과정
개발 목표 설정
계수기 - 터치로 세기의 목표는 단순한 기능의 앱을 짧은 기간 안에 개발하고, 실제 스토어 출시까지 확인하는 것이었습니다.
1개월 이내에 개발과 출시를 완료하는 것을 목표로 했기 때문에 기능 범위는 의도적으로 작게 설정했습니다. 복잡한 부가 기능을 추가하기보다, 숫자를 세고 변경하는 계수기 본연의 기능에 집중했습니다.
이 방식은 작은 앱을 빠르게 만들고 실제 사용자에게 공개하는 흐름을 반복하기 위한 시도였습니다. 완성도 높은 대형 앱을 한 번에 만드는 것보다, 작게 만들고 출시하면서 개발·배포·운영 과정을 직접 경험하는 데 초점을 맞췄습니다.
계수기 - 터치로 세기 컨셉
시스템 아키텍처
계수기 - 터치로 세기는 별도 서버 없이 동작하는 모바일 앱입니다. 사용자의 터치 입력을 앱 내부 상태로 관리하고, 변경된 숫자를 화면에 즉시 반영하는 구조로 구현했습니다.
구성 요소
역할
화면 UI
현재 숫자 표시, 증가·감소·초기화·직접 변경 기능 제공
터치 입력 처리
화면 탭 이벤트를 감지해 숫자 증가 처리
숫자 감소 처리
감소 버튼 이벤트를 감지해 숫자 감소 처리
숫자 초기화 처리
초기화 버튼 이벤트를 감지해 숫자 0으로 변경 처리
숫자 입력 처리
사용자가 원하는 숫자를 직접 입력하면 현재 카운트 값으로 반영
텍스트 크기 조정 로직
숫자 자릿수가 늘어나도 화면 안에서 자연스럽게 보이도록 글자 크기 조정
광고 모듈
Google AdMob 광고 단위 연결과 앱 내 광고 표시
시스템 아키텍처 구성도
핵심 구현 흐름
구현 흐름
스토어 배포 과정과 이슈 대응
계수기 - 터치로 세기는 Google Play Store와 Apple App Store 모두 출시를 목표로 진행했습니다.
Google Play Store 출시는 이 프로젝트의 가장 중요한 확인 지점이었습니다. 첫 번째 프로젝트였던 CheerUp Mini에서 Google Play 프로덕션 출시 신청 중 오류가 반복되었기 때문에, 같은 개발자 계정에서 다른 앱은 정상적으로 출시할 수 있는지 확인해야 했습니다.
결과적으로 계수기 - 터치로 세기는 Google Play Store에 정상적으로 출시되었습니다. 이를 통해 CheerUp Mini에서 발생한 Google Play 프로덕션 출시 오류가 개발자 계정 전체의 문제가 아니라, 특정 앱의 Play Console 상태나 프로덕션 신청 과정에서 발생한 문제였을 가능성이 높다고 판단할 수 있었습니다.
반면 Apple App Store에서는 출시하지 못했습니다. 처음에는 테스트 광고 노출 문제가 있었고, 이후에는 앱 기능이 너무 단순하다는 점이 주요 문제로 남았습니다. Apple App Review Guidelines의 4.2 Minimum Functionality 항목은 앱이 충분히 유용하거나 독창적이거나 앱다운 경험을 제공해야 하며, 그렇지 못하면 App Store에 적합하지 않을 수 있다고 안내합니다 [Apple 개발자 - 앱 심사 지침].
이 경험을 통해 같은 앱이라도 스토어마다 심사 관점이 다를 수 있다는 점을 확인했습니다. Google Play Store에서는 단순한 계수기 도구로 출시할 수 있었지만, Apple App Store에서는 단순 기능을 넘어 충분한 앱다운 경험을 요구한다는 점을 직접 경험했습니다.
Google의 Play Store에 출시된 모습Apple의 AppStore에 거부된 상황
성과
짧은 개발 주기(1개월 이내)에 개발하기
성공
Google Play Store 출시
성공
CheerUp Mini의 Google Play 출시 오류 재현 여부 확인
성공
Apple App Store 출시
실패
이 프로젝트의 성과는 목적은 큰 규모의 서비스를 만드는 것이 아니라, 짧은 개발 주기로 앱을 완성하고 실제 스토어 출시 가능성을 확인하는 것이었습니다. 그 기준에서 보면, 이 프로젝트는 목표를 대부분 달성한 프로젝트입니다.
가장 중요한 성과는 Google Play Store 출시였습니다. 첫 번째 프로젝트에서 발생한 프로덕션 출시 오류가 다른 앱에서도 반복되는지 확인해야 했는데, 계수기 앱에서는 같은 문제가 발생하지 않았습니다. 이를 통해 문제의 범위를 좁힐 수 있었습니다.
또 하나의 성과는 빠른 개발 주기를 경험했다는 점입니다. 기능 범위를 작게 설정했기 때문에 핵심 기능 구현, 기기 테스트, 스토어 등록까지 짧은 기간 안에 진행할 수 있었습니다. 이 경험은 이후 작은 앱을 빠르게 만들고 출시하는 방식의 가능성을 확인하는 계기가 되었습니다.
반면 Apple App Store 출시는 실패했습니다. 하지만 이 실패는 의미 있는 학습이었습니다. 단순한 유틸리티 앱이라도 스토어별로 요구하는 기준이 다르며, 특히 App Store에서는 단순 기능을 넘어 충분한 앱다운 경험을 설계해야 한다는 점을 알게 되었습니다.
프로젝트를 통해 얻은 학습
계수기 - 터치로 세기는 기능적으로 복잡한 앱은 아니었지만, 작은 앱을 실제로 출시하는 과정에서 필요한 기준을 확인하게 해준 프로젝트입니다. 스토어의 정책까지 함께 고려해야 한다는 점을 배웠습니다.
단순한 기능의 앱이 아닌 앱다움을 보완하여 진행해야 합니다. 특히, Google Play와 App Store의 심사 관점이 다를 수 있으므로 출시 전 각 스토어의 정책과 가이드라인을 별도로 검토가 필요합니다.