1

アプリ内購入に成功し、Apple サーバーからコンテンツをダウンロードして使用することができました。
アプリ内購入コンテンツは非消費型です。そのため、アプリで「復元」ボタンを提供しています
。ユーザーが「復元」ボタンを押すと、次のメソッドが呼び出されます。

restoreCompletedTransactions

しかし、ここでは、デリゲート メソッドへの呼び出しを取得していません。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

トランザクション オブジェクトを識別し、Apple サーバーからコンテンツのダウンロードを再開できるようにします。「復元」オプションを書くのを手伝ってくれる人はいますか?

アップルによると、次のように書かれています。

// 非同期。現在のユーザーの完了済みトランザクションをキューに追加して、再完了させます。ユーザーは認証を求められます。オブザーバーは、0 個以上の -paymentQueue:updatedTransactions: を受け取り、その後に成功した場合は -paymentQueueRestoreCompletedTransactionsFinished: を、失敗した場合は -paymentQueue:restoreCompletedTransactionsFailedWithError: を受け取ります。部分的に成功した場合でも、一部のトランザクションは配信される可能性があります。

しかし、私にとっては、「paymentQueue:updatedTransactions」という呼び出しがまったくありません。「paymentQueueRestoreCompletedTransactionsFinished:」という呼び出しを取得しています。

4

1 に答える 1

2

おそらく、トランザクション キューは観察されません。あなたが持っていることを確認してください

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

restoreCompletedTransactions メソッドを呼び出す前のどこか

于 2012-12-03T15:59:49.727 に答える