akiyoko blog

akiyoko の IT技術系ブログです

iPad上でアプリ内課金 (In-App Purchase) の実機テストをする方法メモ

最近、iOS7対応で一部改修したアプリのテストをしていたのですが、実機(iPad)でアプリ内課金(In-App Purchase)のテストをしようとしたところで、「iTunes Storeに接続できません」だの何だのというエラーで行き詰まってしまったので、これをどうやって解決したかをまとめたメモです。


まず、アプリ内課金を実機上でテストするには、iPadに紐付けられている通常のアカウントではリリース前のアプリのアプリ内課金はできない、というのを理解しておかないといけません(私はこれが理解できていませんでした)。


なので、

  1. テストユーザ用に捨てアドレスを用意
  2. iTunes Connect でテストユーザを作成
  3. 実機(iPad等)に紐付けられている通常ユーザを一時的に解除
  4. Xcodeからアプリをビルドして実機にデプロイ
  5. 実機上でアプリ内課金を試してみる(その際、新たなアカウントが要求されるので、テストユーザを入力)

という流れで進めていく必要があります。

1. テストユーザ用に捨てアドレスを用意

テストユーザごとに、実在するメールアドレスが個別に必要になるので、一時的に使える捨てアドレスを用意します。
10 Minite Mail」という素敵なサービスがあるのですが、その名の通り、10分だけ使える捨てアドがもらえます。簡易受信BOXでメールがチェックできたり、制限時間が延長できる「もう10分延長!」も直感的で分かりやすくていい感じです。

http://10minutemail.com/
f:id:akiyoko:20131109040641p:plain


2. iTunes Connect でテストユーザを作成

アプリに組み込んだプロビジョニングプロファイルを発行した開発アカウントで iTunes Connect にログインし、「Manage Users」をクリックします。

f:id:akiyoko:20131109040154p:plain


ユーザタイプは「Test User」を選択します。

f:id:akiyoko:20131109040428p:plain


「Add New User」をクリック。

f:id:akiyoko:20131109040448p:plain


テストユーザの情報を入力して、「Save」ボタンをクリックします。

項目 入力例 備考
First Name test1  
Last Name user  
Email Address (入手したメールアドレス) 実機テストで「Apple ID」として使う
Password Test1user 8文字以上、英大文字・小文字・数字を混ぜる
Confirm Password (同上)  
Secret Question aaaaaaaa 8文字以上
Secret Answer bbbbbbbb 8文字以上、Secret Questionと同一不可
Date of Birth (適当)  
Select iTunes Stone Japan  

f:id:akiyoko:20131109042359p:plain


テストユーザが準備できました。

f:id:akiyoko:20131109042458p:plain


3. 実機に紐付けられている通常ユーザを一時的に解除

普段実機で使っている Apple ID(通常アカウント)では、リリース前のアプリのアプリ内課金は購入できません。

そこで、通常アカウントを 実機から一時的に解除しておくことで、テスト中に別のアカウントが要求されるようになります。


実機で、[設定] -> [iTunes & App Store] を選択します。
(画面は iPad/iOS 7.0.3)

f:id:akiyoko:20131109043347p:plain


「サインアウト」して、iPad に紐付けられた Apple ID を解除します。

f:id:akiyoko:20131109043622p:plain


4. Xcodeからアプリをビルドして実機にデプロイ

Mac に iPad を接続し、Xcode 上でアプリをビルドして実機上にデプロイします。

f:id:akiyoko:20131109044139p:plain


5. 実機上でアプリ内課金を試してみる

購入手続きをすると、新たな Apple ID の入力が要求されます。

f:id:akiyoko:20131109051116p:plain


2.で登録済みのテストユーザのアカウント情報を入力します。

f:id:akiyoko:20131109052000p:plain


無事、実機上でのアプリ内課金が動作検証できようになりました。