컴퓨터/App Store

첫번째 리젝 - UIRequiredDeviceCapabilities key 설정 관련

My App Factory 2010. 4. 1. 23:43


첫번째 어플을 등록하자마자 그 무섭다는 리젝을 빨리도 당했습니다.
3월 26일 첫번째 어플을 앱스토어에 업로드하고, 27일 in Review로 상태가 변경되었습니다. 여기까지 처리가 상당히 빨라 흡족한 마음으로 여행을 다녀왔더니 30일 다음과 같은 내용의 메일과 함께 reject되어 있더군요.

Hello Lim,

Thank you for submitting Vampire`s Library. We have reviewed your application and determined that it cannot be posted to the App Store because Vampire`s Library cannot be installed on a device.

Vampire`s Library's UIRequiredDeviceCapabilities key in the Info.plist is set in such a way that it will not install on a iPhone 3G, iPhone 3GS, or an iPod touch.

Please ensure that the application's UIRequiredDeviceCapabilities key configuration is correct. Attributes should only be placed in the UIRequiredDeviceCapabilities key if that attribute is either required for the function of the application or if it must not be present on the device. For additional information on specific keys, please review the dictionary keys tables found in the iPhone Application Programming Guide, under the "Device Support" section:

/developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iPhoneAppProgrammingGuide.pdf>

In order for your application to be reconsidered for the App Store, please resolve this issue and upload your new binary to iTunes Connect.

Should you require more assistance with resolving this issue, Apple Developer Technical Support is available to provide direct one-on-one support for discrete code-level questions. You may contact Apple Developer Technical Support directly at <idp-dts@apple.com>. Please be sure to include any crash logs, screenshots or steps to reproduce this issue in your request.

Sincerely,

iPhone App Review Team


인스톨 조차 되지 않는다는 굴욕(^^;)적인 내용이였습니다. UIRequiredDeviceCapabilities key 가 무언지 당쵀 본적도 없는 문구가 적혀있어 더 당황스럽더군요. 이전에 퍼온 배포용 절차에서 빼먹은 것은 없는지 다시 한번 찬찬히 살펴보았지만 특별히 놓친 부분은 없는 듯 했습니다.

2010/03/09 - [프로그래밍 관련/cocos2d & objective C] - App Store 등록절차 - 펌

애플에서 리젝할 경우, 수정방법까지 친절히 알려주는 편이라길레, 다시 메일내용을 잘 읽어보니 Info.plist 를 수정하라고 되어있더군요. Info.plist파일로 가보니 젤 마지막부분에 UIRequiredDeviceCapabilities key 에 대한 설정이 확실히 있었습니다. 가속도센서나 전화, 메일등등 디바이스 환경사용에 관한 설정을 하는 부분인데 이부분에 사용하지 않는 디바이스를 요구하거나 반대로 사용하는 디바이스가 선택되어 있지않으면 지적사항이 되는것 같습니다 

디폴트로 선택되어 있는 것이 가속도 센스와 OpenGL ES 1.1 두가지인데, 제 경우, cocos2d를 사용하니 OpenGL설정은 그대로 괜찮지만 가속도센스가 사용하지도 않는데 체크가 되어 있어 발생한 문제였습니다.

결국, 문제가 된 부분을 수정하여 당일로 다시 업로드를 하였습니다. 조그만 문제였는데도 전체적으로 약 5일정도 늦어지는 결과가 되어버렸습니다. 시간상의 로스가 발생하는 것도 무섭지만 문제가 서너가지 있을 경우, 한번에 모두 알려주지 않고 하나하나 지적해서 매번 일주일에서 이주일의 텀이 발생되는 점이 무섭다고 하던데, 저는 아예 테스트에 들어가지도 못하고 리젝당했으니 정작 앞으로 무슨 문제가 나올지 모른다는 생각에 더 두려워 지는군요.  애초에 좀더 꼼꼼히 따져보고 확인하여 애플로 보내는 것이 나중에 발생할 불필요한 시간들을 줄이는 최선의 방법일듯 합니다.

혹, 또 무슨 실수가 있는건 아닌지... 첫어플이 제대로 등록되어야 한 시름 놓을 듯합니다.

4월2일 추가 - 
제목을 연속 두번 리젝으로 고쳐야 하는건 아닌지 모르겠습니다. 자고 일어나니 다시 리젝 당했다는 메일이 와있었습니다. 첫번째 실수가 배포용은 디바이스에서 돌려볼수가 없으니 아예 테스트도 해보지 않고 그냥 올렸는데 시뮬레이터에서 동작확인을 했어야 했군요. 개발중엔 계속 3.1.3으로 테스트하다 잘 돌아간다고 2.2.1로 빌드해서 올린 바보같은 짓을 했습니다. cocos2d 0.99는 IPhone OS 3.0부터 제대로 동작합니다. 이게 디바이스로 선택하고 빌드시에는 아무런 에러를 발생시키지 않는군요. 반드시 시뮬레이터에서 실행을 시켜봐야 제대로 에러를 발생시킵니다.  

이번엔 무사히 리뷰에 들어갔으면 좋겠네요.