본문 바로가기

사석에서

아이폰용 앱 제출 후 거절당했다면

나의 아이폰용 앱은 오늘로서 한달째 그리고 네번째 리뷰 중이다.

사실 이렇게 오래 걸릴 것이라 생각하지 않았다.
그런데 다른 사람들도 이런 경험을 할 수 있으리라 생각한다.
애플에서 리뷰시 나타나는 고질적인 문제도 있기 때문이다.
나름대로 대처할 수 있는 방법도 말해 본다. 

1. 영어를 쓰면 시간을 절약할 수 있다.

먼저 한국 사람은 영어에 익숙하지 않은 것이 사실이다.
그래서 앱을 올릴때도 한글을 많이 사용하는 편이다.

애플의 리뷰 팀에는 한글이라고 한국인이 전담하지는 않는 것으로 보인다.
그리고 리뷰팀은 한글의 내용까지 모두 파악하고 대처하고 있다. 아마도 번역된 한글을 토대로 검토하는 것으로 보인다. 그리고 앱 내부의 메타데이타의 내용도 파악하는 것으로 보인다.
따라서 한글을 사용할 때는 영어 해설을 덧 붙이거나, 리뷰팀에 번역된 한글을 전달하는 것이 시간을 절약할 수 있는 방법이다.

2. 무엇보다 리뷰 팀은 의심스러운 것은 반드시 물어본다.

애플의 앱이 신뢰성이 좀 더 높은 이유는 앱을 직접 사용해 보고 의심스러운 것은 답변을 듣고 대처하기 때문이다.
오프라인용 앱은 유료든 무료든 사용해 보고 기능을 파악하면 질문이 거의 없을 것이다.
그러나 온라인용에선 앱과 서비스의 무료 유료가 중요하고 어떻게 서비스 되는지 앞으로의 계획 등을 요구할 수 있다.
이런 경우 자신의 비즈니스 모델까지 말해야 하는 상황이 나올 수 있다.

3. 리뷰에 사용되는 툴들의 문제점

앞의 두가지는 충분히 이해가 간다.
그러나 리뷰팀에서 사용하는 툴에는 확실한 문제가 있고 이들의 대처 방식에도 문제가 있다.
먼저 리뷰팀에선 앱의 문제점을 분석하기 위해 툴들을 사용한다.
다른 툴이 또 있는 지는 모르겠지만 "strings" 과 "otool" 이라는 것을 사용한다.
그리고 앱을 올리기 전에 이 툴들로 확인할 수 있다고 알려준다.

나의 경우에는 "2.5: Apps that use non-public APIs will be rejected" 라는 거절 이유를 들었다.

요약하면 자신들이 제공하는 API와 동일한 명칭을 사용하고 있다는 것이다. 동일한 명칭을 사용하는 경우 아이폰과 충돌을 일으킬 수 있다는 것이다.
 
사실 완전히 분리된 앱에서 동일한 명칭이 이용되어도 다른 것에는 영향을 미치지 않아야 하는 것이 정상이다. 이로 미루어 보면 내부 커널에 영향을 주는 API들이 있는 것으로 짐작된다.

나의 경우에는 충돌을 일으킬 만한 것을 발견을 못했다고 답변을 했다.

그러나 돌아온 것은 같은 사유로 인한 거절이었다.
그래서 좀 더 구체적인 질문을 했더니 해당 질문은 "Apple Developer Technical Support team"에 하라는 것이었다.

좀 황당한 것이 우리와 문화가 달라서 그런지 모르겠지만 그들은 업무자체가 분할되면 책임도 완전히 분할 되는 모양이다. 거의 답변의 수준이 나와는 관련 없으니 그건 다른 놈에게 알아보라는 것이다.

하는 수 없이 DTS 팀에 메일을 보냈다.
여기도 다소 복잡한 이야기들이 있지만 결론만 말하도록 하겠다.

이들이 사용하는 툴에는 오류가 있다. 그리고 그들 또한 잘 알고 있는 눈치였다.

내가 알아낸 결정적 이유는 자신과 충돌을 일으킬 수 있는 APIs가 public 인지 private인지 한다리를 건너면 구별하지 못한다는  것이다.  실소를 금할 수 없는 요청은 충돌은 일으키지는 않지만, 다른 APIs를 사용해 주길 바란다는 것이다.
  
 그리고 이걸 친절이라고 해야하나 변명이라 해야하나 잘 모르겠지만, 다른 APIs를 알려준다. 더불어 최근 리뷰팀에도 관련 내용을 전달하고 툴을 교체했다는 것이다. 그러나 리뷰팀은 정작 구체적인 사실은 모른체 자동화된 툴로 오류나 찍어내며 거절 사유를 들이대는 것은 설명하지 못한다.

이것을 수정할 수 있는 경우라면  큰  문제가 되질 않는다.  그러나  '제3의 라이브러리'인 경우에는 해당 소스를 확인할 수 없기 때문에 속수무책으로 당하게 된다. 다시 말하면 소스를 가지고 있지 않다면 이들의 주장에 당한다는 것이다.
 
의심은 좋은 것이 아니지만, 나의 경우 모든 소스를 가지고 있었기 떄문에 이들에 당하지 않았는지도 모른다. 그렇다고 제3의 라리브러리를 사용치 말라는 것은 아니다. 검증된 것이라면 그들도 알고 있을 가능성이 높기 때문이다. 

어제 다시 개선된 앱을 올렸는데 주말이 끼었으니 얼마나 시간이 또 걸리려나!

"앱 제출후 거절시 얻게된 최종 결론"입니다. (참고하시기 바랍니다.)