取るに足らない量のデータのダウンロードを可能にするiphoneアプリケーションでアプリ内購入を実装しています。
現在、購入が完了したが、アプリケーションのシャットダウンによって中断されたトランザクションがあるかどうかをストアキットが教えてくれるかどうかを調べようとしています。
私が知る限り、これを行う唯一の方法は、SKPaymentQueueにオブザーバーを追加することです。
[[SKPaymentQueue defaultQueue] addTransactionObserver:someObject];
defaultQueueが呼び出すのを待ちます
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
someObjectで。上記の中断状態にあるアイテムは、このメソッドが次の場合、トランザクション配列にSKPaymentTransactionStatePurchasedとして表示されます。
この問題を解決するための最初の試みは、オブザーバーを追加してから、次のことを要求することでした。
[SKPaymentQueue defaultQueue].transactions
そしてそれらを検査します。これは「保留中」のトランザクションの配列を返すと言われていますが、私の経験では、SKPaymentTransactionStatePurchasedにあるトランザクションは含まれていません。
私はこの状態を維持するためにストアキットを使用することを望んでいました、そしてどんなアイデアでも好きです。ありがとうございました。