프로그래밍/아이폰어플만들기

아이폰 어플 심사에서 가장 자주 리젝되는 10가지 이유

kugancity 2025. 6. 5. 18:49
반응형

 

 

 

 

 

앱 심사를 한 번에 통과하지 못하면 일정이 꼬이기 시작합니다. 특히 Apple의 App Store Review는 굉장히 꼼꼼하고 일관성도 없어서 경험이 있어도 방심하면 안 됩니다. 아래는 실제로 많이 리젝되는 사유 10가지와 그 해결책을 개발자 관점에서 정리한 글입니다.

1. 개인정보 접근 권한 미기재 (ITMS-90683)

원인: 앱이 카메라, 사진첩, 마이크, 위치정보, 연락처 등의 민감한 시스템 리소스에 접근하면서도 Info.plist에 이유를 적지 않은 경우 발생합니다.
사례: NSCameraUsageDescription, NSMicrophoneUsageDescription, NSLocationWhenInUseUsageDescription 등의 키가 빠져 있음.
해결: 접근 가능한 모든 민감 권한에 대해 Info.plist에 사용자에게 보여질 설명 문구를 정확하게 작성해야 합니다.

<key>NSCameraUsageDescription</key>
<string>프로필 사진을 찍기 위해 카메라 접근이 필요합니다.</string>

 

 

2. Apple 로그인 미제공

원인: Google, Facebook 등 제3자 로그인만 제공하는 경우 Apple 로그인(Sign in with Apple)도 반드시 제공해야 합니다.
예외: 자체 이메일/비밀번호 로그인만 제공한다면 Apple 로그인을 강제하지 않습니다.
사례: Google 로그인만 있는 앱에서 “Apple 로그인이 없어 리젝”
해결: Sign in with Apple 추가하거나 자체 계정 시스템으로 완전히 대체.

 

 

3. Placeholder 텍스트/더미 이미지 그대로 제출

원인: “Lorem ipsum” 같은 텍스트, "TEST IMAGE", “Coming soon” 화면 등을 그대로 두고 앱 제출.
사례: 심사자가 앱을 열었는데 “샘플 텍스트가 너무 많아 기능을 이해할 수 없다”며 리젝.
해결: 모든 화면에 실 콘텐츠가 있어야 하며, 비어있을 경우도 안내 메시지를 넣는 게 좋습니다.

 

4. 외부 결제 유도

원인: 앱 내부에서 유료 기능 결제를 유도하면서 App Store IAP(인앱결제)를 사용하지 않고, 외부 링크나 안내문으로 결제를 유도한 경우.
사례: “프리미엄은 www.example.com에서 구매 가능” 등의 문구
해결: 디지털 콘텐츠/서비스는 반드시 In-App Purchase를 사용해야 함.

 

5. App Store 메타데이터 부정확

원인: 앱 설명, 스크린샷, 키워드가 실제 앱 내용과 맞지 않거나 부정확할 때.
사례: 설명에 “채팅 기능 제공”이라 되어 있으나 앱 내에는 채팅 기능 없음.
해결: 실제 기능 기준으로 상세하게 앱 설명 작성. 업데이트 때마다 메타데이터도 반드시 확인.

 

6. 앱 실행 중 빈 화면 또는 오류 발생

원인: 로그인 전, 데이터 없을 때, API 실패 시 적절한 화면 처리 없이 흰 화면 또는 앱 종료.
사례: 인터넷 연결 안 될 때 아무것도 표시되지 않음 → 리젝
해결: 로딩 스피너, 안내 메시지, 에러 처리 화면 등을 기본적으로 구현해야 심사 통과 가능.

 

7. 크래시 또는 기능 작동 불능

원인: 테스트 중 특정 조건에서 앱이 튕기거나 핵심 기능이 작동하지 않을 경우.
사례: 로그인 후 아무 화면도 안 뜨거나 버튼이 클릭되지 않음
해결: TestFlight로 QA 철저히 하고 다양한 네트워크 환경, 구형 기기에서도 테스트 필요.

 

8. Apple의 UI/UX 가이드라인 위반

원인: iOS 디자인 원칙과 동작 패턴을 무시한 UI
사례: 백버튼이 없어서 이전 화면으로 갈 수 없음, 스와이프 작동 안 됨, 터치 영역 너무 작음
해결: Apple Human Interface Guidelines(HIG)에 따라 버튼 위치, 동작, 탐색 방식 설계.

 

9. 트래킹/광고 식별자(IDFA) 고지 누락

원인: 광고 SDK 또는 분석 도구에서 IDFA를 사용하는데, App Tracking Transparency(ATT) 구현을 안 한 경우
사례: 앱을 실행하면 광고 ID가 수집되지만 사용자에게 동의를 받지 않음
해결: iOS 14 이상에서 AppTrackingTransparency 프레임워크로 사용자 동의 필요.

ATTrackingManager.requestTrackingAuthorization { status in
  // 처리 로직
}

 

10. 기능 부족 또는 콘텐츠 미완성

원인: 앱이 너무 기본적이거나 콘텐츠가 너무 적어서 Apple 측에서 “유저에게 충분한 가치를 주지 않는다”고 판단
사례: 버튼 몇 개 눌러도 아무 기능이 없거나, 텍스트만 나열된 간단한 구조
해결: 최소한의 기능이라도 완성도 있게 구현하고, 콘텐츠가 부족하면 미리보기, 안내 문구 추가

 

 

✅ 체크리스트 요약

점검 항목 확인 여부
Info.plist에 모든 권한 설명 기입했는가? [ ]
Apple 로그인 필요 여부 확인했는가? [ ]
더미 텍스트/이미지 제거했는가? [ ]
외부 결제 유도 없이 인앱결제 적용했는가? [ ]
앱 설명과 실제 기능이 일치하는가? [ ]
에러 처리 및 로딩 UI를 구현했는가? [ ]
다양한 기기에서 충분히 테스트했는가? [ ]
iOS 디자인 가이드를 따랐는가? [ ]
ATT 프롬프트 구현했는가? [ ]
기능 완성도와 콘텐츠가 충분한가? [ ]

 

 

 

 

728x90
반응형