4

iPhone3.0SDKを使用してストアキットトランザクションをテストしようとしています。ストアキットプログラミングガイドのサンプルコードに基づいてコードを作成していますが、トランザクションが失敗し続けます(ステータス:SKPaymentTransactionStateFailed)。ただし、トランザクションのエラープロパティはnilであるため、状況に光を当てることはありません。

製品を購入しようとすると、テストアカウントでログインして購入を受け入れることができますが、次のようなダイアログボックスが表示されます。

「これはすでに購入していますが、ダウンロードされていません。[OK]をタップして今すぐダウンロードしてください。」

「OK」をタップしても何も起こりません。私のtransactionObserverは、それ以上メッセージを送信しません。

4

5 に答える 5

4

消耗品についてもまったく同じ問題がありました。上記の答えは正しかったことがわかりました。チームメイトが私のテスト アカウントを誤って削除してしまいました。新しいものを作成した後、すべてが正常に機能します。

于 2010-09-21T21:22:23.917 に答える
0

サンドボックス環境で同じ問題に遭遇し、SKPaymentTransactionObserver に関連している可能性があることがわかりました。

これを最初に実装したとき、SKPaymentTransactionObserver を割り当て、購入を開始したときにのみ追加しました。また、トランザクションが成功または失敗するとすぐに SKPaymentTransactionObserver を削除しました。この場合、SKPaymentTransactionObserver を削除する前にトランザクションを終了したとしても、トランザクションは常に未終了であることがわかりました。

したがって、私の解決策は、アプリの開始時に SKPaymentTransactionObserver を割り当て、アプリが終了するまで削除しないことです。その場合、「未完了」のトランザクションはまだ正しく終了していません。

これがうまくいくことを願っています。

于 2011-07-27T08:12:15.803 に答える
0

まさにこの問題がありました。無効なテスト アカウントを使用していたことが判明しました (テスト アカウントは、アプリケーションがリンクされているものとは別の Apple 開発者アカウントにバインドされていました)。テストアカウントの資格情報を確認したところ、すべてがうまくいきませんでした.

@wdlindmeier:あなたにも同じ解決策があったようです。誰かに役立つ場合に備えて、この回答または独自の回答を受け入れることをお勧めします。:)

于 2010-09-07T12:18:39.853 に答える
0

結局のところ、私のテスト アカウントは iTunes Connect から削除されていました (ログインは許可されていましたが)。新しいテスト アカウントを作成したところ、機能し始めました。「今すぐダウンロードするには OK をタップしてください」というメッセージは、実際にはトランザクションを再開しようとしたもので、その後再び失敗したと思います。

于 2009-09-03T05:51:41.113 に答える
0

私もこれを手に入れ続けました。シミュレーターでアプリの購入をテストできないことがわかりました!

于 2012-07-18T09:36:40.113 に答える