'In App Purchase 샌드박스내에서 테스트하기'에 해당되는 글 1건

  1. 2012.06.20 In App Purchase 샌드박스내에서 테스트하기
iOS2012. 6. 20. 14:52

전에 어플내 컨텐츠 구매에 대해서 썼는데 이를 테스트하기 위해선 어떻게 해야하는지를 써 볼까 합니다. 아주 사소한 문제로 2, 3일 고생했네요..ㅋㅋ


1. 테스트용 어플 등록
 일반적으로 컨텐츠를 다운로드하기 위해선 App Store에 요청을 하여 과금요청을 하여 OK가 난 경우 실제 컨텐츠를 다운로드 받습니다.
 하지만 테스트를 하기 위해서 매번 과금요청을 하면 돈 버는 것보다 테스트하느라 나가는게 더 많겠죠. 그래서 애플은 샌드박스환경을 제공합니다.
 통상 과정을 동일하나 테스트용 계정을 만들어서 과금이 발생안하고 테스트를 가능하게 해줍니다. 단순히 OK만 주는게 아니고 구입이력도 관리해줍니다.

 우선 테스트를 위해선 App Store에 과금컨텐츠를 등록합니다. 그런데 개발중이니 어플도 등록안되어 있을 텐데 컨텐츠를 등록한다는게 웃기죠.

 iTunes Connect메뉴에 들어가서 어플을 추가합니다. 이때 어플은 바이너리를 올릴 필요없이 가짜 정보를 입력해도 됩니다. 근데 귀찮게 아이콘(512*512)도 올려야 되더군요. 입력 정보는 전부(SNU번호 이외0 나중에 수정 가능하니 대충 입력합니다.

2. App ID등록
 이렇게 등록했으면 이번엔 iTunes Developer Program Portal에 가서 새로운 App ID를 등록합니다. 물론 등록한 ID에 맞게 프로비저닝도 수정할 필요도 생깁니다.

3. 과금컨텐츠 등록
 이제 다시 iTunes Connect에 가면 In App Purchase Content를 등록하는 메뉴가 있습니다. 주체가 되는 어플과 App ID를 선택해주고 Product ID를 입력하고 등록합니다. 역시 실제로 앱스토어에 보이는게 아니니 테스트용으로 입력합니다.

4. 테스트용 ID 등록
 iTunes Connect메뉴중 Account를 관리하는 메뉴가 있고, 그 안에 보면 In app purchase Account를 관리하는게 있습니다. 여기서 테스트 유저를 만듭니다. 모든 정보, 심지어 이메일주소로 대충 입력하면 됩니다.

5. 기존 계정은 사인아웃
 실제 사용중인 계정은 설정-Store에 들어가서 사인아웃해줍니다.

6. 코드 실행
 코드를 실행하면 알림창이 뜨고 다운받을 컨텐츠 정보와 계정등을 입력하는게 뜹니다. 이건 일반적으론 안뜨고 샌드박스 환경에서 테스트할 때만 뜹니다. 이때 계정은 4번에서 만든 계정을 입력합니다.

7. 컨텐츠 다운로드
 모든게 성공하면 response로 성공이 옵니다. 그럼 컨텐츠를 다운로드 하면 OK

이게 일반적인 겁니다. 모두 레퍼런스에도 나와있죠. 그런데 전 6번에서 계정입력창이 뜨지 않고 iTunes Store에 연결할 수 없다는 에러만 나오더군요. 한참 찾았습니다. 결국 Info.plist에 정의한 번들아이디가 2번의 App ID와 완전일치하지않아서 발생했습니다. 대소문자까지 구별해서..ㅠㅠ

테스트라고 해도 모두 등록 및 설정을 확실히 해주어야 합니다.

Posted by 다오나무