2013-03-02 14 views
7

問題:サンドボックスアカウントでアプリの購入をテストしようとしていますが、消耗品を2回購入しようとするたびに、次のエラーメッセージが表示されます。iOSサンドボックス - 消耗品を2回購入できない

私は、これはサンドボックス関連の問題であり得ることを読んだ< 6. iOS版を使用している場合
You've already purchased this In-App Purchase but it hasn't been downloaded. 
         [Environment: Sandbox] 

にのみ発生します。その声明に真実があるかどうか誰にも知られていますか?

私は次の呼び出しは、最初のトランザクションを完了するために行われていることを確信している:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 
:私は運でキューをフラッシュするだけでなく、この呼び出しを行ってみました

[[SKPaymentQueue defaultQueue] finishTransaction:transaction] 

また、iAPをテストする前に、iTunes Storeからログアウトしていることを確認しています。さらに、ビルドとバージョン番号がXcodeのターゲットの概要ペインにあることも確認しました。

+0

あなたが...それは消耗品である100%確信していますか? – holex

+0

ええ、私は確信しています。 – user2125688

+0

iOS 6および7と消耗品では発生しています。あなたはそれを解決する方法を考え出しましたか? – SpaceDog

答えて

0

問題は、私は数日前に同じエラーを取得し、あなたのコード内で、おそらく

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

この不足している行です。この行は私の問題を解決します。この行はアプリ内のオブザーバーを追加します。

+0

すでに試しました。 – user2125688

1

私はこのメッセージを受け取り、再び購入しようとするとクラッシュするという同様の状況がありました。私には、これはちょうどfinishTransactionが(何らかの理由で)完了していないというメッセージのようです。私のログによると、SKTransactionStateFailed更新トランザクションが付与され、finishTransactionを再送することができます。

私は、実際にデータをダウンロードしている/購入しているBOOL/whateverを確認し、再度ダウンロードする必要がある場合はユーザーインターフェイスを表示します。後続のダウンロードに問題がないように見えます。クラッシュを防ぐために

は、私が含ま:

[[SKPaymentQueue defaultQueue] removeTransactionObserver:self]; 
関連する問題