팀프로젝트로 보틀즈 Bottles라는 앱을 출시한 경험은 있지만, 개인적으로 앱을 출시하는 것은 처음이다. 단체로 출시할 때는 계정문제도 있고 업무를 나눠서 하다보니 정리를 못했는데 앞으로는 전체를 내가 스스로 출시해야 하기 때문에 관련 내용을 정리하기로 하였다.
또한 SwiftUI로 앱 개발을 해오다가 UIKit으로 앱을 제작하여 출시하는 경험은 처음이기에 감회가 새롭다!
출시 완료!! 아래 링크에서 다운로드 받아볼 수 있다!
https://apps.apple.com/kr/app/%EA%B8%B0%ED%94%84%ED%8B%B0%EC%BD%98-%EB%AA%A8%EC%95%84/id6450167516
기프티콘 모아
기프티콘 사진 등록 - 기프티콘 이미지(바코드), 유효기간, 교환처, 금액, 사용여부를 저장하고 카드 형식으로 손쉽게 확인할 수 있습니다. - 유효기간이 가까운 기프티콘부터 정렬이 되어 있
apps.apple.com
1. 앱 배포
- 처음에는 Xcode Cloud를 통해서 배포를 하려고 했지만, 중간에 오류가 나서 실패하였다. 따라서 TestFlight에 수동배포하는 방식으로 배포를 진행하였다.
- 우선 배포는 아래 두분의 블로그를 참고하여 진행하였다. 아주 친절하게 인증서 발급 순서와 배포 순서를 알려주셔서 어렵지 않게 할 수 있었다.
[iOS] TestFlight에 수동 배포하기
Xcode로 iOS앱을 TestFlight에 수동 배포해보자
velog.io
Xcode에서 앱스토어 등록 배포 하기(2021년 4월 최신 기준)
애플의 앱스토어 등록하는 방법을 간단하게 설명해보겠다. 아주 간단히 ㅎㅎㅎ Xcode의 Product > Archive 클릭 빌드가 끝나면 Archive 팝업이 뜬다 나의 버전 선택후 Distribute App 클릭 앱스토어 등록이니
sansanji.tistory.com
2. 앱 스크린 샷 및 홍보 이미지 만들기
- 무료 목업 사이트에서 iPhone 형식의 배경 다운로드 받은 후 내가 개발한 앱 이미지를 추가하여 디자인 파일을 만들었다.
https://www.mockupworld.co/free/category/iphone/page/7/
iPhone Archives
Create your perfect showcase with free iPhone mockups: Various iPhone models, styles and perspectives!
www.mockupworld.co
Figma
Created with Figma
www.figma.com
- 애플에서 요구하는 iPhone, iPad 크기에 맞춰서 총 5가지 버전으로 제작하였다.
- 실제 심사 파일 제출 및 앱스토어 등록 시 보여지는 사진은 사이사이에 여백이 있도록 배치되기 때문에 실제 홍보용 사진을 자를 시에도 해당 여백 크기를 고려하여 잘라주었다.
3. 개인정보처리방침
- 일단 해당 앱은 CoreData를 사용하여 사용자의 기기에만 데이터를 저장하기 때문에 제작하는 입장에서 앱에 관련된 개인정보를 직접적으로 처리는 부분은 없다.
- 하지만 앱 출시 후 개선사항이나 민원처리 등에 관련된 내용을 받을 때 이메일 등 개인정보 사용과 관련된 처리가 필요하여 이 부분에 대해서 명시해 주는 것을 목적으로 하였다.
- 이 부분은 앱 출시 후 애플 앱스토어를 통해서 사용로그 등 어디까지 확인이 가능한지 확인하여 필요한 부분이 있다면 추가적으로 보충할 예정이다.
https://www.privacy.go.kr/front/per/inf/perInfStep01.do
개인정보 포털
개인정보보호위원회는 개인정보의 처리와 보호에 관한 사안을 독립적으로 수행하기 위해 설립된 합의제 중앙행정기관입니다.
www.privacy.go.kr
- 개인정보보호위원회에서 제공하는 개인정보처리방침 만들기를 기반으로 필요한 사항을 작성하여 제작하였다.
4. 심사 제출 1차 -> 거절
- 나머지는 심사 제출 시 요청하는 심사 정보(이메일, 연락처 등), 카테고리, 검색 키워드를 작성하면 되는 부분이기에 어려운 것은 없었다.
앱 심사 정보 입력란에 입력한 정보로 심사 여부가 연락이 오는 것이 아닌 앱스토어 등록 계정 이메일로 심사 및 검토 진행 사항이 연락이 온다. 혹시 왜 연락이 안오지?라고 생각한다면 앱스토어 계정에 등록된 이메일을 확인해 보면 이미 심사 결과가 와있을 확률이 높다.
- 이렇게 6월 12일 오후 7시에 앱 심사를 제출했고, 6월 14일 새벽 3시 반에 리뷰 및 수정 요청 메일을 받았다. 사유는 아래와 같다.
- 사유를 확인해보니 스크린샷을 수정하라고 하여 찾아봤더니 iPad용 스크린 샷에 iPhone용 사진을 그대로 사용한 것이 문제인 것으로 보였다. 해당 앱은 iPad용을 출시하기 않을 예정이기에 iPad deployment Info를 삭제하고 Archive 배포가 필요했다. 찾아보니 처음 Archive 시에 iPad를 제외하고 타겟팅을 하여 Upload해야했는데 이미 한번 올려버리면 지속적으로 iPad용 사진을 필수적으로 요구한다는 글을 찾게 되었다. 이걸 보고 해결 방법이 없나 했지만 아래 블로그에서 동일한 반려를 받았다는 것 같아서 iPad만 지우고 다시 심사를 받아보기로 했다.
https://mingule.tistory.com/27
iOS 앱 등록시 꼭 필요한 준비물
먼저 iOS 앱 스토어에 앱을 등록하기는 생각보다 까다롭다. 안드로이드 앱 등록은 해보지 않았지만 안드로이드는 비교적 올리기 쉽다고 하더라.. (엉엉) 어쨌든 그래서인지 등록하고 나면 괜히
mingule.tistory.com
https://phillip5094.tistory.com/162
[심사] Guideline 2.3.3 - Performance - Accurate Metadata
# 리젝 이유 Specifically, your iPad Pro (2nd Gen) and iPad Pro (6th Gen) screenshots show an iPhone device frame. # 분석 iPhone만 지원할 것이기 때문에 Xcode > Target > General > Supported Destinations에서 iPhone만 선택해서 빌드 및
phillip5094.tistory.com
- 요렇게 아래와 같이 iPhone만 남긴 후 재업로드 하였더니, iPad용 사진 업로드란이 선택사항으로 변경되었다.
- 6월 14일 오후 7시 반에 재심사 요청을 올렸다.
4. 재심사 제출 2차 -> 승인 완료!!
- 6월 16일 새벽 3시 반에 앱스토어 등록이 되었다는 메일을 받게 되었다. 첫번째 심사에서 리젝을 받으면 추후 재심사가 더 까다로워 진다고 해서 걱정을 많이 했는데 다행히 문제 없이 심사가 완료되었다.
- 내가 생각해 봤을 떄 해당 앱 심사가 빠르게 이뤄지고, 리젝 사유가 없었던 이유는 1. 로그인이 없음, 2. CoreData만 사용하고 DB와 연동하여 싱크를 맞춰주거나 하는 부분에서 안정성이 높아서 라고 생각한다.