1

Apple は、アプリ内購入を使用するすべてのアプリがこれを入れなければならないと述べています

[[SKPaymentQueue defaultQueue] addTransactionObserver:self.observer];

アプリの冒頭で、何らかの理由でデバイスがコンテンツをリリースする確認を受け取っていない成功した販売を処理します。

これをテストしようとして、トランザクションが終了しようとしているときに電話をかけたり、アプリケーションを終了したり、トランザクションが終了する前にXcodeを停止したりしていますが、何らかの理由で、Xcodeを終了してもiOSはトランザクションを処理し続けているようですアプリは SKPaymentTransactionStateRestored を受け取りません。アプリは常に SKPaymentTransactionStatePurchased を受け取り、失敗しないように見えます (おそらく、新しい iOS 4 は、StoreKit がリリースされたときの 3.2 よりも優れた処理を行います)。

私の質問は、アプリの起動時に失敗を生成し、SKPaymentTransactionStateRestored を受け取るためにここで作成できる状況を知っていますか? この種の状況でアプリがうまく機能するかどうかをテストする必要があります。

ありがとう

4

1 に答える 1

2

SKPaymentTransactionStateRestored通話時のみですrestoreCompletedTransactions(ユーザーが新しいデバイスでアプリ内購入を復元できるようにするため)。を呼び出さずにアプリを終了するとfinishTransaction:、トランザクションはキューに残り、SKPaymentTransactionStatePurchased再び取得されます。

于 2011-07-16T22:26:22.810 に答える