1. 시작 - 공모전 앱에서 시작된 프로젝트
iOS를 학습한 초반, 스토리보드를 사용해 간단한 앱을 만든 적이 있다.
이 앱은 공모전을 위해 단 2주 만에 개발된 프로젝트였다.
기능은 국회 공공 API를 활용해 특정 날짜에 발의된 법안을 조회하고, 관심 있는 법안을 즐겨찾기하는 것이었다.
하지만 공모전에서는 탈락했고, 이후 앱은 방치되었다.
그러다 2025년이 되면서, “앱을 다시 리팩토링해 앱스토어에 등록해 보자!“라는 목표가 생겼다.
그렇게 앱을 다시 열어본 순간…
“내가 이런 코드를 짰다고?”
“도대체 무슨 생각으로 이걸 만들었지?”
처음 만든 앱이라 코드 품질이 너무나도 형편없었다.
결국, 처음부터 다시 뜯어고치기로 마음먹었다.
2. 리팩토링 과정
(1) 스토리보드를 코드 기반 UI로 변경
처음 작업한 것은 스토리보드 제거였다.
스토리보드는 빠른 프로토타이핑에 유용하지만, 현업에서 많이 사용되지 않으며 유지 보수가 어렵다.
또한, 코드 기반 UI가 구조적으로 더 직관적이기 때문에 변경을 결정했다.
(2) 앱스토어 출시를 위한 필수 기능 추가
- 검색 화면 추가
- 법안을 검색할 수 있도록 검색 화면(Search View)을 추가했다.
- 이를 위해 새로운 API Service를 도입하고, 관련 로직을 Model 폴더에서 관리했다.
- 디자인 개선
- 초기에는 기능 구현이 우선이었기 때문에 디자인이 많이 부족했다.
- 하지만, 디자인 감각이 전혀 없어서 큰 변화는 어려웠다.
- 대신 배경색을 추가하고, 긴 법안 제목은 MarqueeLabel을 사용해 자동 스크롤 되도록 수정했다.
- API 최적화
- 2024년 6월, 22대 국회 출범에 맞춰 API 요청 방식을 변경해야 했다.
- age 값을 조건문으로 변경하고, 딕셔너리로 대수별 인덱스를 관리하여 21대/22대 국회를 오가며 API 요청을 최적화했다.
3. 앱스토어 등록 도전
앱을 완성한 후, 처음부터 끝까지 혼자서 앱스토어에 등록해 보기로 결심했다.
이전에 팀 프로젝트로 앱을 등록한 경험은 있었지만, 이번에는 모든 과정을 직접 경험하고 싶었다.
스크린샷(목업) 제작
앱스토어에 올릴 목업 이미지를 만들 때부터 막혔다.
“어떤 디자인이 깔끔할까?”
구글링 끝에, 깔끔하고 직관적인 목업을 만들어주는 사이트를 찾았다.
개인정보처리 방침 작성
앱스토어 등록 시 개인정보 처리 방침 링크가 필요했다.
과거에는 개인정보 포털에서 쉽게 작성할 수 있었지만, 현재 서비스가 중지된 상태였다.
대안으로 영문판 개인정보 보호 문서를 쉽게 생성할 수 있는 사이트를 찾았다.
https://www.websitepolicies.com/
4. 첫 번째 앱 심사 - 거절
예상대로, 첫 번째 심사는 거절되었다.
Guideline 1.5 - Safety
문제: 제공한 URL에 문의할 방법이 없음
해결: 이메일 주소 추가
Guideline 2.1 - Performance - App Completeness
문제: 잘못된 목업 이미지 업로드
해결: 올바른 앱 스크린샷으로 교체
5. 두 번째 앱 심사 - 또 거절
이번에는 Guideline 4.0 - Design을 위반했다.
문제: 다크 모드에서 텍스트 가독성이 떨어짐
해결: 다크 모드 비활성화 후 재심사 제출
개인적으로 개발한 첫번째 앱스토어에 등록되는 순간이었다.
개발자 구독료 12만 원이 아깝지 않도록, 앞으로도 꾸준히 앱을 업데이트하고 새로운 앱을 출시할 계획이다.
이번 경험을 통해 앱스토어 심사 프로세스를 직접 겪어보면서 실제 배포까지의 흐름을 익히는 값진 경험이 되었다.
'Swift' 카테고리의 다른 글
클린 아키텍처: TextField 데이터를 Interactor로 전달하는 방법 - (1) (0) | 2024.12.19 |
---|---|
클린아키텍처 적용해보기 in iOS - 2 (0) | 2024.08.27 |
Swift - Closures (0) | 2024.08.18 |
MVC패턴과 MVVM 패턴에 대한 나의 생각 (0) | 2024.07.31 |
F-Lab iOS 수료 후기 (3) | 2024.07.27 |