본문 바로가기

iOS 개발/iOS 개발 정보

iOS 앱, 앱스토어 출시 후기

반응형

드디어 A부터 Z까지, 직접 기획하고 개발한 앱을 앱스토어에 출시했어요!!

출시까지, 여러 일들과 생각들을 느꼈기에, 개발 계기부터 출시까지의 생각과 느낌을 작성하려합니다.

 

모바일 앱 출시

앱 출시란, 누군가에게는 굉장히 대단한 일 일수도 있고, 작은 일 일수도 있습니다.

학부생부터 Android를 공부하고 개발하며, 약 4년동안 Android 앱 10개 정도를 Play Store에 등록하고 업데이트, 운영했습니다.

수년동안의 Android 앱 출시 및 운영 경험을 가지고 있기에, 저에게 있어서 앱 출시는 어려운것, 복잡한것, 귀찮은것들이 아니었습니다.

앱 출시에 있어서 가장 어려운것은 "마음먹기"와 "시작하기" 그 뿐이었습니다.

 

iOS 앱 출시

하지만, iOS 앱 출시는 조금 달랐습니다. iOS 앱 출시에는 금전적인 비용이 듭니다. 불과 일주일전에, apple 개발자 등록을 진행했는데, google은 평생동안 3만원을, apple은 1년마다 약 13만원 전후의 비용이 필요합니다.

또한, 출시 전 앱에대한 "심사"가 필요합니다. 흔히 말하는 Hig(Human Interface Guidelines https://developer.apple.com/design/human-interface-guidelines/)를 준수해야 하며, 앱 내용에 대한 완성도도 필요합니다.

Android 앱을 개발하며 "apple의 앱 심사는 굉장히 까다롭다"라는 이야기는 저에게 두려움을 갖게했습니다. 또한, "apple은 고자세이며, 세번 이상의 심사 fail이 발생하면 더 이상 검토하지 않는다"는 이야기도 들었기에, 쉽게 생각할 문제는 아니었습니다.

 

계기

많은 회사의 iOS앱 개발 부서에서, RxSwift 스킬에 대한 요구를 확인했고, RxSwift에 도전했습니다. RxSwift에 대해 학습하여, 개념은 이해를 하였으나 적용(구현)을 하지 못해 손을 놓았었고, 이후 다시 한번 더 학습을 했지만, 적용하지 못해 다시 손을 놓았던 경험이 있었습니다. 공부하는 시점에는 충분히 이해하는데 어떻게 개발을 해야할지 모르겠는 상황이었죠. "RxSwift의 러닝커브가 굉장히 높다"라는 인식이 각인됐고, 피하고 싶었습니다.

하지만, 언젠간 마주해야하기 때문에, 다시 한번 더 정면 돌파를 결정했습니다. 목표는 "RxSwift의 MVVM 앱을 개발하고, 앱 스토어에 출시한다"입니다.

 

 개발

RxSwift를 학습하며, 코드로 작성하고, 특성을 이해하고 적용하고자 노력했습니다. 이해가 되는 부분도 있고, 안되는 부분도 있었지만, 계속 학습했습니다. 어느정도 학습이 됐다고 생각한 순간, 앱 개발을 시작했습니다.

제일 먼저, 몇년전 Android 앱으로 출시한 앱 목록에서 아이템을 골랐습니다. 수년전의 앱이기 때문에, UI/UX가 오래됐으며, 이에따라 기획서 부터 재작성했습니다. 아이디어는 같지만, 완전히 뜯어고친, 리뉴얼한 앱이죠. 구조와 로직, 필요 라이브러리에 대해서 생각 및 파악한 후 개발을 차근차근 시작했습니다. 하나하나 천천히 시작하니, 생각보다 할만했습니다. 모르는 부분은 공식 문서나 구글링을 통해서 알아가고, 학습했습니다. 앱 개발이 80프로 된 순간, 다른 일정이 생겨 개발이 두달정도 딜레이 됐습니다. 하지만, "앱 출시"라는 목표는 버리지 않았습니다. 다른 일정이 끝난 후 앱 개발을 마무리했습니다.

 

iOS 개발자 등록

아이디를 만들고, 개발자 등록 및 결제했습니다. 이유는 모르겠지만, Google과는 다르게 결제일로부터 apple 개발자 등록 완료까지 3~4일 걸렸습니다. 이걸 알았다면, 개발 진행중에, apple 개발자 등록을 먼저 진행했을겁니다. 어쨌든, 대기되는 동안은 "취소할까?", "괜히 등록했나?", "결재가 제대로 됐나? apple 개발자 등록이 왜 안되지?" 등 다양한 생각을 가졌습니다.

 

iOS 앱 등록 과정

생각보다 순탄치 않았습니다. 바로 앱을 등록하고자 했으나, 앱스토어용 ScreenShot과 개인정보처리 사이트, 앱 정보 안내 사이트 등이 필요했습니다. 포토샵 체험판을 설치하여 ScreenShot을 만들고(하루 이상의 시간이 걸렸어요), 인터넷 검색을 통해 개인정보 처리 내용(https://www.privacy.go.kr/a3sc/per/inf/perInfStep01.do)을 작성하고 안내 페이지를 만들었습니다. 또, 앱 정보 안내 사이트도 만들었습니다. 앱 개발 외 준비해야할 사항들이 많아서, 접근 난이도가 생각보다 올라갔습니다. 그래도, "앱 출시"라는 목표는 버리지 않았습니다.

 

iOS 앱 심사

앱 심사에 필요한 앱 정보 입력 text 창이 존재하는데, 너무 지친 나머지, 아주 간략하게(성의없이) 정보를 적었습니다. 그 결과 fail이 발생했습니다. 구글링을 해보니, 앱의 완성도가 부족하다는 피드백이었습니다. 그때야, 부랴부랴 앱 정보를 아주 상세하기 작성하여 코멘트를 남겼습니다. 이 앱의 특징은 무엇이며, 장점, 앱 확장 방향에 대해서 기술하였으며, 결과로는 두번의 fail 후 pass를 받았습니다.

 

iOS 앱 출시

앱 심사 통과 후, 바로 앱 배포했습니다. 앱스토어에서 검색을 하여 다운받을 수 있게 된것입니다. 직접 기획, 개발한 앱을 출시하고 사용자에게 제공하는 앱스토어 출시를 통해, Android 앱을 처음 출시하고 기뻤던 그때가 떠올랐습니다. 또한, 목표를 포기하지 않고 달성한 것에 대해서, 성취감을 느낄 수 있었고, 제 자신이 기특하고 대견했습니다. 그 동안 힘들었던 상황에 대한 마음의 보상이었습니다.

 

Android 앱 개발과 출시

이 기세를 몰아 Android 앱을 개발했습니다. 기존에 출시한 프로젝트의 코드 재사용이 아니라, 처음부터 개발했습니다.

iOS 언어로 작성된 iOS 앱을 java 언어의 Android앱으로 마이그레이션했습니다. 한때, 주스킬이었던 Android 앱 개발을 오랜만에 하니 재밌더라구요. 스크린샷 작성 등을 통해 앱을 출시했습니다.

 

앱 기능 개발 및 업데이트

다른 주요 일정도 있었지만, 앱 출시 후 신규 기능도 생각났고, 업데이트도 경험하고 싶어서 신규 기능 개발 진행했습니다. 개발 완료 후 업데이트 버전 등록 후 앱 심사를 거쳤습니다. apple은 "connect" 앱으로 나의 앱 관리 및 상태를 확인할 수 있습니다. "TestFlight" 앱을 통해, 출시 예정인 앱을 tester에게 배포할 수 있습니다. 참고로 google은 "play store console" 앱으로 나의 앱 관리 및 상태를 확인할 수 있으며, 이메일 제공이었나요? test 트랙으로 앱을 tester에게 배포할 수 있습니다.

Android 또한, 기능을 개발하여 배포진행했습니다.

 

출시 후기

단기간으로 끝낼수 있었지만, 딜레이 되어 템포가 조금 처졌던 개인 프로젝트였습니다.

그렇기에, 출시하고 숙제 하나를 해결했다는 생각에 홀가분합니다. 또한 iOS 앱 출시과정은 저에게 큰 도움이 되었습니다.

"apple의 고자세와 심사에 대한 두려움"을 피하지 않고, 직면하여 이겨냈기 때문입니다.

iOS 앱 출시는 더이상 두렵지 않으며, 앱 출시 빈도는 앞으로 더욱 더 잦을것입니다.

반응형