hbc studio › 제작기 › 씨앗

앱 심사 반려에서 배운 것들: 씨앗 1.0의 닷새

씨앗을 앱스토어에 내놓기까지 닷새 동안 심사와 씨름했어요. 반려 사유가 하나하나 구체적이어서, 처음 앱을 내는 사람에게 도움이 될 것 같아 정리해요.

가장 싼 가격은 얼마일까

처음 계획에는 씨앗AI 메시지를 아주 작은 단위로 파는 상품이 있었어요. 메시지 1개에 100원이요. 그런데 앱스토어의 원화 가격에는 하한이 있었어요. 400원이 하한이라고 생각하고 “메시지 5개에 400원”으로 바꿨는데, 실제 하한은 500원이었어요. 같은 날 다시 고쳤어요. 앱 쪽 표시만이 아니라 서버의 결제 검증 쪽 가격표도 함께 바꿔야 했고요.

결제 계약이 출시를 붙잡다

유료 상품을 팔려면 애플의 유료 앱 계약(세금 서류, 계좌 확인)이 끝나야 하는데, 이게 며칠씩 걸렸어요. 그래서 결제는 “곧 출시 예정”으로 막아 두고, 쿠폰과 광고 시청으로 메시지를 받는 방식으로 먼저 내기로 했어요. 그리고 Google·카카오 로그인이 있으니 애플 가이드라인(4.8)에 따라 Apple로 로그인도 추가했어요.

1.0 반려: 세 가지 사유

5월 26일, 1.0이 반려됐어요.

  • 3.1.1: 쿠폰 코드로 유료 기능을 여는 건 앱 내 결제를 우회하는 것으로 봤어요.
  • 2.1(b): 그와 관련된 사업 모델에 대한 질문.
  • 2.3.10: 앱 안에 Google Play·안드로이드 언급이 남아 있었어요.

그날 처음에는 모든 사용자를 무료로 취급하는 전역 스위치를 넣었어요. 그런데 몇 시간 뒤, 이 방식을 버리고 정식 ‘출시(launch)’ 등급을 새로 만들었어요. 숨은 전역 스위치는 나중에 결제를 다시 켤 때 무엇이 바뀌는지 추적하기 어렵거든요. 등급 하나로 정리하니, 사용자의 등급이 다시 하나의 진실이 됐어요. 지금 새로 가입하면 모두 이 등급이에요.

4번: 로그인은 앱 안에서

같은 심사에서 또 하나가 걸렸어요. Google·카카오 로그인을 누르면 Safari 앱으로 튕겨 나갔다가 돌아오는 방식이었는데, 이걸 앱 밖으로 나가는 로그인으로 봤어요. 앱 위로 올라오는 브라우저 창(SFSafariViewController)으로 바꿨어요. 돌아오는 방식은 그대로라서 큰 수정은 아니었어요.

심사 계정에 가계부가 두 개

심사관의 계정에 “내 가계부”가 두 개 만들어져 있었어요. 가입 직후 기본 가계부를 만드는 과정이 거의 동시에 두 번 돌면, 둘 다 “아직 가계부가 없네”라고 보고 각자 하나씩 만들었던 거예요. 앱 안의 중복 방지는 한 화면 안에서만 통했어요. 그래서 데이터베이스에서 사용자별 잠금을 걸고, 잠금 안에서 다시 확인한 뒤 만들도록 바꿨어요. 두 번째 요청은 첫 번째가 만든 가계부를 돌려받아요.

1.0.1 반려: 묻지 않는 추적 권한

다음 버전은 2.1로 반려됐어요. 나중에 광고를 켤 때 설정을 바꾸지 않으려고, 앱 설정에 “추적 권한을 요청하는 이유” 문구를 미리 넣어 두었는데, 광고가 꺼져 있으니 권한 요청 창은 한 번도 뜨지 않았어요. 심사는 “요청한다고 써 놓고 요청하지 않는 앱”으로 봤어요. 광고가 꺼져 있으면 추적도 하지 않으니, 문구를 빼고 추적하지 않는다고 신고했어요.

마지막으로, 1.0.1 버전 번호로는 더 이상 새 빌드를 올릴 수 없어서 1.0.2, 1.0.3으로 올렸어요. 이때 앱과 위젯의 버전 번호가 다르면 또 거절되기 때문에, 둘을 함께 맞춰요.

정리하면

  • 결제가 얽힌 기능은 계약, 가격 하한, 쿠폰 정책까지 확인하고 설계해야 해요. 처음 출시는 결제 없이 내는 게 가장 빨랐어요.
  • “나중을 위해 미리 넣어 둔 것”이 지금 심사에 걸릴 수 있어요. 쓰지 않는 권한 문구가 그랬어요.
  • 심사관의 계정은 가장 정직한 테스트 계정이에요. 거기서 나온 이상한 데이터는 실제 버그예요.

씨앗 — 씨앗은 혼자서도, 가족·연인·룸메이트와 함께도 쓰는 가계부예요. 평소 말투로 말하면 씨앗AI 비서가 기록과 검색을 대신해 줘요.

씨앗 소개 보기 · App Store에서 받기 ↗

다른 제작기

제작기 전체 보기