2012-05-23 9 views
9

私は、アプリ購入時のテストでうまく動作するテストユーザーアカウントを持っています。アプリ内購入テストで購入を削除するユーザーアカウント

私はこのアカウントから購入を「削除」したいので、購入を何度もテストできます。今、購入しようとすると、テストユーザーが問題の製品を既に購入していると論理的に言います。

同じ購入を複数回テストできるように、テストユーザーアカウントから購入を削除することはできますか?購入をテストするたびに、新しいテストユーザーを作成する必要がありません。

EDIT:購入しようとするたびに、「購入済みです。もう一度無料でダウンロードしてください」というダイアログが表示されます。

+0

もう一度明確にすることができますか:1)このアプリ内購入ですか、またはアプリストアから購入ですか? 2)これがアプリ内購入の場合、アプリはあなたが商品を購入したことをどのように知っていますか?州はどこかに救われなければならない。 – nhahtdh

+0

この質問は役に立ちますか?http://stackoverflow.com/questions/7604578/how-can-i-reset-sandboxed-in-app-purchases-on-ios-for-testing? – borrrden

+0

私は、データを格納する3つの方法(iCloud、デバイス、およびアプリケーションの独自のサーバー)のみを知っています。 – nhahtdh

答えて

8

本当にテストしたい場合は、別のテストユーザーを作成する必要があります。しかし、私はこれの必要性を見ません。アプリ内購入を再ダウンロードすることは、ほぼ同じコードフローです。実際の購入と検証のロジックはアプリケーションの一部ではなく、ユーザーが何かを何度も購入することは、そのような消耗品であると指定しない限り、起こるはずのものではありません。再ダウンロードする場合は、初回購入時に動作すると見なしても安全です。

このデータにはアクセスできません。 Appleが購入をリセットする方法を公開していれば、サンドボックスサーバーのコードが実際に生産コードと同じであると想定しているので、セキュリティリスクにさらされる危険があります(そうでなければ、サンドボックスは意味がありません)。データはAppleのサーバー上にあり、iTunesアカウントに関連付けられているため、複数のデバイスにまたがる可能性があります。

あなたのiTunes Connectからアプリ内購入を削除し、新しいものを作ることです。

+3

** [...] "アプリ内購入の再ダウンロードはほぼ同じコードフローです。" [...] **このステートメントは特定のトランザクションハンドラには当てはまりますが、チャイムインして言いたいことがあります。最初の購入は古い購入の復元とは大幅に異なる扱いができるため、Appコード自体には必ずしも真実ではありません。 – Questor

+1

領収書の確認コードはどうですか?製品の存在しないシナリオをテストし、コードの領収書のチェックを行う必要があります。 –

+0

@theReverendこれは、模擬する必要がある(テスト目的のために、毎回YESを返すメソッドと毎回NOを返すメソッドを持つ)かもしれません。 – borrrden

1

あなたのアプリ内購入のタイプがであり、それが消耗品の場合は、アプリを再インストールすることができます。アプリ内購入が(可用性はありません)の場合、追加のテストユーザーを作成する必要があります。

+0

IAPの種類を「消耗品」から「消耗品」に変更してから、Appstoreにリリースすることができますか?それはテストのための解決策になります。 – brigadir

+0

iTunesConnectを作成した後は、IAPのタイプを変更することはできません。テスト用に追加の「消耗品」IAPを作成することができます。 –