logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

Apple AppStore App Review 시 Reject 피하기 위한 방법

by digipine posted Nov 02, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

1. 버그
 우선, 당연하겠지만, 앱을 실행했을 때 꺼지거나 또는 멈추는 문제가 있으면 반드시 거절된다고 합니다. 등록 전에 아이폰 운영체제 버전별로 테스트를 잘해서 등록해햐한다.

 

2. Human Interface
가이드라인 아이폰 개발자라면, 애플에서 제공하는 Human Interface 가이드라인을 모든 항목 하나하나 꼼꼼히 읽고 숙지해야한다. 만약 이 가이드라인을 지키지 않을 경우, 반드시는 아니지만(아무래도 UI는 주관적인 부분이다 보니), 경우에 따라 거절사유가 될 수 있다.

 

3. 아이콘
 아이튠즈에 애플리케이션을 등록할 때는 아이콘을 512*512 사이즈와 57*57(114*114) 사이즈 두 종류를 등록하게 되어 있죠. Human Interface 가이드라인에 나와 있지는 않지만, 이 두 아이콘의 이미지가 차이가 있으면 등록이 거절된다고 한다.

 

 4. 인터넷 연결
 만약에 인터넷 연결이 필요한 애플리케이션이라면, 네트워크 접속이 안되었을 때 네트워크 접속이 안되어있다는 안내메세지를 알려주는 게 좋다고 한다. 이런 예외 처리를 하지 않고 그냥 '로딩중' 이미지가 계속 뜬다거나 '나중에 다시 시도해주세요'라고 하면 거절될 수도 있다.

 

5. Device Capabilities (장치별 환경 고려)
iOS기반의 애플리케이션은 아이폰과 아이팟터치, 아이패드에서 구동되는데요, 이 때 각 디바이스별 환경을 잘 고려해서 개발을 해야 한다. 예를 들면, 만약 애플리케이션에 진동을 활용하는 기능이 있다면, 아이팟터치 1세대와 2세대는 진동기능이 없는만큼, 지원대상 하드웨어 목록에서 빼던지 또는 진동 기능을 빼던지 해야 한다. 이 역시도 거절 사유가 된다.

 

6. Excessive Bandwidth Usage (데이터 사용량 고려)
사용자 입장에서는 데이터를 너무 많이 사용하는 앱을 이용하는 것이 좋지 않다. 통신비용도 나갈 뿐더러, 배터리 소모량도 높아지기때문. 애플의 앱 리뷰팀도 이 점을 고려한다고 하는데요, 5분동안 4.5MB를 넘지 않는 수준에서 애플리케이션이 동작할 수 있도록 해야 한다. 이를 테스트해보려면 설정 > 일반 > 사용량 에서 사용량을 초기화한 후에 애플리케이션을 5분간 실행해보면 체크해볼 수 있다.

 

7. 버튼 이미지의 일관성
 앱 개발시에 애플에서 기본적으로 제공하는 버튼 이미지들을 사용하려면 Human Interface 가이드라인에 따라 기능의 일관성을 준수해서 써야 한다고 합니다. 만약 이를 어긴다면 거절 사유가 될 수 있다.

 

8. 네트워크 접속 오류
 네트워크 검색시 false positives(?)를 보내면 안된다고 합니다. 애플의 'reachability' 에 버그가 있기 때문이라지만, 애플 리뷰팀에서 이를 확인할 경우 거절 사유가 될 수 있다는 내용이다.

 

9. 라이트 버전
 라이트 버전에 대한 규칙은 명확하게 나와있지는 않지만, 버튼이 보여지는 데 라이트 버전이라고 해서 동작을 안한다던지, 또는 버튼을 누르면 구매를 유도하는 경우에도 역시 거절될수 있다.

 

10. OS 호환성
 앱을 등록할 때 만약 OS 3.0 버전 이상에서 동작한다고 해놓았을 경우, 반드시 그 이상 버전들에서 잘 돌아가는 것을 확인하고 등록해야 한다. 보통 앱 리뷰어들은 가장 최신 버전의 OS에서 테스트를 진행하기 때문에 특히 가장 최신 버전에 대한 테스트를 꼭 해보라. 물론 작동하지 않으면 등록이 거절됨.

 

11. 정치인/연예인 풍자나 저작권 침해
 앱스토어의 앱 개발 가이드라인에서는 분명하게 아이튠즈 설명이나 앱 내에 공인을 풍자하는 내용을 넣으면 안된다고 밝혀져 있다. 또, 최근에는 앱 내의 콘텐츠 중에 저작권을 침해하는 내용들이 있는지에 대해서도 주의깊게 본다고 하니 등록 전에 꼭 검토해보시고 등록해야함.

 

12. Interpret Code Restricted
소스 코드를 다운로드 받아 실행시킬 수 있는 앱 역시도 등록할 수 없다고 합니다. 만약 이게 된다면 아이폰에서 플래시나 자바스크립트 등도 구동할 수 있을 것이다.

 

13. 복권 및 콘테스트
 내기나 복권, 콘테스트 같은 콘텐츠를 담은 애플리케이션은 등록할 수 있다. 하지만, 해당 애플리케이션의 운영 규칙이 있어야 하며, 운영에 대한 책임이 전적으로 개발자(개발사)에게 있고, 애플은 어떤 책임도 없다는 내용을 공지해야 한다.

 

14. 가격정보
 앱 내에서는 가격에 대한 정보가 표시되면 안된다. 이유는 각 나라별 통화 단위에 따라 표시되는 액수가 달라지기 때문이다. 예를 들어 애플리케이션 콘텐츠의 구입 가격이 0.99$ 이라고 해놓으면, 유럽의 경우 0.99$을 결제하는 것이 아니라 0.7유로를 결제하기 때문에 혼동을 줄 수 있다는 것.

 

15. 앱 설명과 스냅샷, 키워드
 앱 설명과 애플리케이션의 기능이 일치해야 한다. 사실과 다른 정보를 앱 설명에 적어놓으면 안된다는 내용. 이는 스크린샷 역시 마찬가지고, 키워드도 전혀 관련없는 키워드를 적어 넣으면 거절될 수 있다.

 

16. 결제
 커머스와 관련된 기능을 구현하면서 다른 결제 시스템을 이용하는 경우 애플에서 엄격하게 통제한다. 결제를 구현하려면 일단 in-app purchases를 이용하라.

 

17. 불쾌한 내용
 포르노나 욕설 등을 제공하는 앱은 사용 가능 연령을 17+로 해도 거절된다. 다른 사용자들이 다소 불쾌해할 수 있는 내용을 담지 말아야..

 

18. 사용자 데이터 관리
 광고나 기타 사용자 추적을 위해서 사용자의 위치 정보를 활용하는 것도 안된다. 또, 사용자의 정보를 서버로 보내 저장할 때는 반드시 사용자에게 알려야 한는데, 예를 들면, 게임점수를 보낼 때도 사용자에게 분명히 알려야 한다.

 

19. Private API:s
 Private API를 호출하는 앱은 무조건 거절된다. 당연한 이야기지만..

 

20. 업데이트
 마지막으로 업데이트할 때도 역시 모든 사항들을 주의해서 검토한 후 등록해야 한다. 애플은 업데이트된 앱도 새로운 앱들과 마찬가지로 리뷰를 하기때문이다.

TAG •

List of Articles
No. Subject Author Date Views
56 [macOS, iOS] 개발자 정보 확인하는 명령어 digipine 2023.03.23 419
55 Core Audio를 사용하여 macOS에서 Audio를 Capture하는 코드 digipine 2024.04.19 462
54 macOS Daemon 관련 시스템 폴더 목록 lizard2019 2024.03.08 469
53 iOS - Socket Nagle 알고리듬 OFF digipine 2017.11.01 470
52 iOS - Objective-C 남아있는 메모리 공간 확인 방법 digipine 2017.11.01 495
51 iOS - Thread Loop 내에서 UI 업데이트 방법 digipine 2017.11.01 532
50 iOS - NSString 와 NSData 간의 데이터 상호 변환 digipine 2017.11.01 538
49 iOS - Objective-C Callback for C++ digipine 2017.11.01 579
48 [macOS] 현재 사용 중인(열려있는) 포트 확인하고 Close 하기 digipine 2022.10.24 622
» Apple AppStore App Review 시 Reject 피하기 위한 방법 digipine 2017.11.02 628
46 iOS - NSURLConnection로 다중 다운로드 구현 digipine 2017.11.01 630
45 Firebase 'GoogleUtilities/GULURLSessionDataResponse.h' file not found Error Fix lizard2019 2023.07.04 632
44 iOS - Query string을 Decode 하는 소스 digipine 2017.11.01 651
43 Concurrent vs Serial DispatchQueue: Concurrency in Swift explained lizard2019 2021.04.16 668
42 iOS , MacOS, iPhone용 GZipStream class 구현하기 digipine 2017.11.01 690
41 [iOS] Audio Session Setting digipine 2021.11.26 712
40 [iOS] 개발자를 위한 iOS 15의 새로운 기능 file digipine 2021.11.04 758
39 iOS - View 이동 전환 하기 총정리 digipine 2017.11.01 820
38 [MacOS] Terminal 에서 zsh compinit: insecure directories 경고 제거하기 lizard2019 2021.04.30 832
37 [iOS, MacOS] ATS 보안 정책 가이드 digipine 2017.11.02 839
Board Pagination Prev 1 2 3 Next
/ 3