앱스토어 승인 거절 사유들, 앱스토어 리뷰 관련

사실 iOS 앱을 수년간 만들어왔지만 아직도 Review 후 거절당하는 경우들이 있다. 대부분 첫 번째 등록이 성공적으로 진행된다면 이후의 업데이트는 무난히 진행되곤 했다. 그래도 예상치 못했던 ‘거절’이 발생했기 때문에 이에 대해 정리해보았다.

 

1. 애플의 iOS 리뷰 가이드라인 준수

애플은 자사의 가이드라인을 매우 중시한다. iOS Review Guideline라는 문서를 한 번 정도는 정독할 필요가 있다. 이 가이드라인에 위배되는 사항이 있다면 당연히 승인 거절될 수 있다. 사실 한글로 정리된 블로그 문서들도 많다. 모두다 읽기 어렵다면 간단한 방향성만 알아두자.

앱의 완성도

애플의 앱스토어 담당자와 대화를 나눠본 결과, 이들은 ‘아이폰을 사야할만큼 좋은 사용자 경험’을 제공할 수 있는 앱을 원한다. 앱을 사용하는 사람이 불편함을 느끼는 수준의 앱이라면 승인 거절 사유가 될 수 있다. 대략적인 내용은 다음과 같다.

  • 버그가 있는 경우 승인이 거절된다.
  • 모든 버튼은 동작해야 한다. 아직 기능이 구현되지 않은 버튼이 있으면 안된다.

테스트 경로

담당자가 테스트할 수 있도록 테스트 ID를 정확하게 전달한다. 스토어에 심사를 요청해놓고, 미리 작성해놓은 테스트 ID가 동작하지 않아 (개발 DB를 변경하면서 발생) Reject을 당했던 적이 있다. 이 경우 앱이 지나치게 어렵거나, 테스트 가능하지 않다고 판단해도 Reject 될 수 있다.

 

메타 정보의 적절성 – #2017.07 업데이트

가장 최근에 Reject되었던 사유는 스크린샷에 있는 이미지에 안드로이드 Status Bar가 포함되어 있었기 때문이었다. 하이브리드의 앱의 특성상 대부분이 웹으로 구현되었기에 무심코 지나쳤던 부분인데, 매우 정중하지만 기분 나쁘다는 어투로 Reject 하였다. 사실 가장 많이 경험하는 사유인데, 이 경우 Binary를 새로 올리지 않아도되기 때문에 비교적 쉽게 해결된다.

  • 메타정보에 베타/알파/테스트 버젼 같은 문구는 들어갈 수 없다.
  • 메타 데이터의 설명 문구, 스크린샷, 기타 정보와 실제 앱이 다르면 안된다.

2. HealthKit, GPS, Bluetooth 등의 기능 사용시 주의

애플은 하나의 앱이 다른 앱 사용을 통제하거나, 아이폰이 제공하는 리소스에 접근하는 상황을 매우 주의깊게 관찰한다. 특히, 하나의 앱이 스마트폰 리소스를 과도하게 사용하거나, HealthKit 처럼 개인 정보를 다루는 경우라면 더욱 그렇다.

  • Apple Healthkit을 사용한다면 메타데이터에 사용을 ‘반드시’ 명시하고, 앱 내에는 데이터 사용에 대한 문구가 반드시 약관과 함께 들어가야 한다. 특히, Healthkit을 연동하는 버튼이 있다면 버튼 근처에 Healthkit의 정보를 어떻게 사용한다는 사실을 문구로 명시해야 한다.
  • Background GPS 기능을 사용하거나, Geo-fence와 같이 베터리를 소모하게될 기능들은 세부 항목들을 꼼꼼히 살펴야한다. 잘 모르겠다면 해당 기능을 구현한 후에 한 번 정도 미리 심사를 받아보는 것도 좋다. (아마 한두번은 어떤 이유에서든 거절될 가능성이 있다.)
  • 혹시라도 외부 디바이스와 직접 연결되는 앱이라면 디바이스를 애플 본사에 보내야 한다. 예를 들어 웨어러블 디바이스와 연동되는 앱이라면 당연히 해당 디바이스를 미국 애플 본사로 보내야 한다. (우리는 배송하다가 UPS의 배송 사고가 발생해서 거의 한 달이 걸리기도 했다.)

 

3. 완성도에 대한 이슈들

명확히 거절 사유가 아니더라도 완성도가 떨어지는 경우 거절될 수 있다.

 

#2017.07 업데이트

정상적으로 동작하지만, 앱이 지나치게 느린 경우 거절될 수 있다. 이번 케이스는 하이브리드앱으로 특정 고객사 내부에서 사용하는 앱으로 만들었다. 내부 ERP에 있는 기능을 모바일/타블렛으로 옮겨오는 작업이라 클라이언트 DB를 어마어마하게 검색해야하는 앱인데, 이게 매우 느리다. 국내 또는 클라이언트 내부망에서는 ‘어느정도’ 정상 속도가 나오지만, 앱스토어 리뷰어가 경험하는 속도는 이보다 훨씬 느렸던 것 같다.

Screen Shot 2017-08-07 at 10.26.59 AM.png

 

4. 기타 몇몇 특수한 상황들

정확히 ‘왜’인지는 이해하기 어렵고 가이드라인에도 없지만, 거절 사례들이 있다.

  • 자동 업데이트 알림 팝업 : “4. DESIGN: PREAMBLE” 위반으로 거절
    • 구현 방식 : 앱스토어 버젼과 현재 버젼을 비교해서 서로 다르면 (또는 앱스토어 버젼보다 현재 버젼이 낮다면) 팝업을 띄우고 업데이트를 유도함. 단, 취소 시 강제하지 않음

Design Preamble

Your app includes an update button or alerts the user to update the app. To avoid user confusion, app version updates must utilize the iOS built-in update mechanism.

Next Steps
Please remove the update feature from your app. To distribute a new version of your app, upload the new app binary version into the same iTunes Connect record you created for the app’s previous version. Updated versions keep the same Apple ID, iTunes Connect ID (SKU), and bundle ID as the original version, and are available free to customers who purchased a previous version.

  • 단순 스크래핑/웹 링크만 붙이는 앱 : “12. SCRAPING & AGGREGATION” 위반으로 거절
    • 구현 방식 : 웹 상의 다양한 사이트 및 컨텐츠를 링크하여 보여주는 앱으로 구현

We found that the experience your app provides is not sufficiently different from a web browsing experience, as it would be by incorporating native iOS functionality.

While your app content may differ from your web site or other existing sites, the experience it provides does not differ significantly from the general experience of using Safari, as required by the App Store Review Guidelines.

  • 그리고 가장 당황스러웠던 경험 중 하나는 (#2015년) 기기를 본사로 보내달라는 요청이었다. 특정 웨어러블 디바이스를 연동하는 앱이었는데, 해당 디바이스가 B2B용으로 중국에서 제작된 물건이었다. 이걸 수령해서 페덱스로 쿠퍼티노까지 날렸다. 운이 없게도 처음 보낸 물건은 캐나다를 헤메다 잃어버렸고, 두번째 보낸 디바이스가 배송되었다. 담당자의 얘기로는 ‘잘 보관하고 있다가 다음 업데이트때도 써볼께’라고 했지만, 아무도 모른다.

 

#2017.09 업데이트

로그인 인증 절차가 있는 앱인데, 회원 가입 절차가 없는 ‘내부 사용 목적의 앱’인 경우 승인이 거절될 수 있다. 일반적으로 이런 목적이라면 Enterprise 계정을 통해 배포하는게 맞지만, 비용이 꽤나 높기 때문에 스토어 배포를 원할때가 있다. 이 경우 배포 국가를 ‘글로벌’로 지정해놓은 경우, 거절 사유가 된다. 현재 국가를 ‘한국’으로 변경하고 다시 신청 절차에 들어갔다. (결과는 나와봐야 알것 같다.)

 

5. 몇 가지 대처 방식

거절을 당하거나 거절로 인해 앱스토어 업데이트를 급하게 진행해야 하는 경우 등 리뷰와 관련한 몇 가지 옵션들이 있다.

거절 사유에 대한 해명

거절을 당하면 그 이유를 명시해준다. 그리고 답변을 달 수 있다. 납득할만한 수준이면 받아들여지지만 대부분의 경우 사실 모든 경우 무시된다. 다만 질문/답변을 함으로서 무엇을 어떻게 수정해야하는지 알 수 있다는 점에서 손해볼 일은 없다.

긴급 업데이트 요청

정확히는 Expedited Review라는 절차가 있다. 구글에 검색하면 해당 내용이 친절하게 나온다. 보통은 1) 이전 버젼이 치명적인 오류로 인해 사용자가 불편을 겪고 있거나, 2) 박람회, 컨퍼런스 등 시일이 정해진 행사로 인해 ‘반드시’ 업데이트되어야하는 경우 이를 반영해주고 있다. Expedited Review를 요청하게되면 그 이슈가 정말 중요한지 판단하고, 과거에 요청한 이력이 있는지를 반영하여 결정한다. 경험적으로는 2~3번에 한번 정도 받아들여졌으니, 나쁘지 않은 확률이다.

 

6. 앱스토어 리뷰부터 출시까지

리뷰는 일반적으로 일주일 이상 걸린다. 경험적으로는 Business Day 기준으로 7일 이상이었다. 이에 대한 불만은 Appstore가 생겨나고서부터 계속 있어왔고, Google Play Store와의 경쟁으로 인해 리뷰 시간은 계속 줄어들고 있다. 최근에는 2일 이내에 처리를 완료한다고 발표했고, 실제 이와 유사한 일정으로 리뷰가 진행되고 있다.

 

앱 스크린샷 정책 변경

2016.08 즈음에 변경되었다는 이메일을 받았다. 이제 앱스토어도 조금씩 사용자 편의를 생각하기 시작한 느낌! 안드로이드라는 강력한 경쟁자가 있다는게 이런 변화를 만들어낸듯 싶다.

Screen Shot 2016-08-10 at 2.53.15 PM

앱스토어 리뷰 일정 단축

(2017.01 업데이트) 확실히 Business Day로 2~3일이면 처리된다. 심사 프로세스가 어떻게 변경되었는지는 정확히 모르지만, 이젠 하염없이 일주일 이상 기다리는 사태는 벌어지지 않는 것 같다. 단, 크리스마스 연휴처럼 본사가 쉬어버리는 시즌에는 어떻게 처리되는지 확인이 필요하다.

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s