SwiftUI

앱스토어의 앱심사는 확실히 구글플레이와 다르고, 심사를 통과하지 못한 이유를 자세히 캡쳐이미지와 함께 설명해준다.

지난달 SwiftUI로 앱개발을 시작했다. 맥북을 사용하다보니 나에게 필요한 앱이 있어서 macOS용 앱을 만들었다.

개발 기간은 한 달 정도 걸린 듯 하다.

다른 맥북 사용자들에게 앱을 판매해보기 위해 12만9천원을 결제하고 앱스토어 앱개발자 등록을 마쳤다.

1년 단위로 구독 서비스 형태구나!! 구글은 한 번으로 끝나는데… 비싸네..

3일전 앱스토어에 등록했다.

유료앱으로 판매하려면 미국세금 정보도 등록해야했다.

SS4문서를 작성 후 EIN 번호 요청 팩스를 미국 국세청에 보낸상태이다.

 

앱개발자 EIN(고용주 식별번호) 신청방법 및 SS-4 양식 문서 작성

 

EIN(고용주 식별번호) 신청방법 및 SS-4 양식 문서 작성방법 (개인사업자 번호 필수)

미국 내 판매 수익에 대한 원천징수 세금을 줄이기 위해 미국 세금 양식 작성에 대해 기록을 남긴다. 한 번도 해본적 없기 때문에 많은 시간이 소요되었다. 나와 같은 상황에 처할 미래의 사람들

playground.naragara.com

 

앱심사 통과를 기대 했던 나의 기대는 빗나갔다.

첫번째 심사는 나의 예상과 달리 통과하지 못했다.

구글플레이 룰은 잘 알고 있는데, 앱스토어 룰은 잘 모르니 이런 일이 발생하는 구나

첫번째 심사를 통과하지 못한 이유 사용자에게 혼선을 줄 수 있는 가이드 라인 내용이었다.


Guideline 1.1.6 – Safety – Objectionable Content


We noticed that your app provides potentially inaccurate diagnostic functionality for Apple hardware to the user. Specifically, your application should not contain the XXXXXX with additional tips to prevent XXXXXXX. (see screenshot)


Currently, there is no publicly available infrastructure to support iOS/macOS diagnostic analysis. Therefore, your app may report inaccurate information which could mislead or confuse your users. 


The next submission of this app may require a longer review time.


Next Steps


– Review the Objectionable Content section of the App Store Review Guidelines.
– Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program. 
– Once your app is fully compliant, resubmit your app for review.
Please see attached screenshot for details.


<원인이된 스크린샷>

원인이된 가이드(팁)을 제거하고 스크린샷에서도 내리고 앱을 빌드 후 다시 업로드하고 재심사를 요청했다.

두번째 심사 역시 통과하지 못했다.  이번엔 두가지 사유가 발생했다.

Hello,

Thank you for your resubmission. Upon further review, we identified an additional issue that needs your attention. See below for more information.

If you have any questions, we are here to help. Reply to this message in App Store Connect and let us know.

Guideline 2.4.5(iii) – Performance

Your app sets itself to auto-launch at startup without express consent from the user.

Next Steps

You can resolve this by leaving this option unchecked by default, providing the user the option to turn it on.

Guideline 4.0 – Design

We noticed issues with your app’s user interface that contribute to a lower-quality user experience than App Store users expect:

– The app does not use the standard “Quit” menu name for quitting apps, which may lead to user confusion. Specifically, a Power Button is used as a Quit button.

Next Steps

Please revise your app to address all instances of the issues identified above.

Resources

– To learn more about App Store design requirements, see App Store Review Guideline 4 – Design.
– Learn more about designing for macOS in the Human Interface Guidelines.
Please see attached screenshots for details.


앱스토어 심사 지침을 찾아보았다.

    • 2.4.5 Mac App Store를 통해 배포하는 앱은 다음의 몇 가지 추가 요구 사항을 유의해야 합니다.
      • (i) 적절하게 샌드박스되어야 하고 macOS 파일 시스템 문서를 따라야 합니다. 또한 다른 앱에 저장된 사용자 데이터(예: 책갈피, 주소록 또는 캘린더 항목)를 수정하는 경우 해당 macOS API만 사용해야 합니다.
      • (ii) Xcode에서 제공한 기술로 패키징하여 제출해야 합니다. 타사 설치 프로그램은 사용할 수 없습니다. 독립적인 단일 앱 설치 번들이어야 하며 공유 위치에 코드나 리소스를 설치할 수 없습니다.
      • (iii) 시동 또는 로그인 시 동의 없이 앱이 자동 실행되거나 자동으로 실행하는 다른 코드가 있어서는 안 되며, 사용자가 앱을 종료한 후에도 동의 없이 계속 실행하는 프로세스를 생성해서도 안 됩니다. Dock에 자동으로 아이콘을 추가하거나 사용자 데스크탑에 바로 가기를 생성해서는 안 됩니다.
      • (iv) 심사 과정 중에 확인하는 내용과 다르게 앱에 기능이 추가되거나 크게 변경되는 독립형 앱, kext, 추가 코드나 리소스를 다운로드하거나 설치하면 안 됩니다.
      • (v) 루트 권한을 요청하거나 setuid 속성을 사용하면 안 됩니다.
      • (vi) 앱 실행 시 사용권 화면을 표시하고 라이선스 키를 요구하거나 자체 복사 방지를 수행하면 안 됩니다.
      • (vii)Mac App Store를 사용하여 업데이트를 배포해야 합니다. 다른 업데이트 메커니즘은 허용되지 않습니다.
      • (viii) 현재 판매되는 OS에서 앱이 실행되어야 하며 지원이 중단되었거나 선택적으로 설치한 기술(예: Java)을 사용하면 안 됩니다.
      • (ix) 앱은 단일 앱 번들로 모든 언어와 현지화를 지원해야 합니다.

 

첫번째로 앱의 자동시작이 문제가 되었다. 맥 로그인시 자동으로 앱이 시작되면 안되나보다.

옵션으로 사용자에게 제공하고 사용자가 설정하도록 변경을 해야한다.

 

두번째 문제는 종료버튼의 명명규칙이다. Quit가 메뉴 이름의 기본 규칙을 사용하지 않았다는 것이다.

근데 그러면 Exit를 써야돼?, Close를 써야돼?  다시 읽어보니 메뉴 이름이 문제가 아니다.

앱종료인데 전원 버튼 이미지를 사용해서 문제가 되는 것 같다.

 

power.circle.fill 종료버튼을 xmark.circle.fill 버튼으로 변경했는데,

심사가 통과가 될지는 올려봐야 알 듯 하다.


첫번째 문제와 두번째 문제를 해결 후 다시 심사에 올렸다.

애플 심사는 참으로 친절하구나!!

12만 9천원 구독서비스의 위력인가?

 

이번엔 심사에 통과했으면 좋겠다.

근데 정말 이번에 느낀건데

구글플레이는 반성해야돼!!

 

2023.6.18 앱 심사가 통과되었다.

앱 등록을 이렇게 할 수 있음을 처음으로 알게되었다.

 

 

Leave a Reply

error: Content is protected !!