アプリ内購入に成功し、Apple サーバーからコンテンツをダウンロードして使用することができました。
アプリ内購入コンテンツは非消費型です。そのため、アプリで「復元」ボタンを提供しています
。ユーザーが「復元」ボタンを押すと、次のメソッドが呼び出されます。
restoreCompletedTransactions
しかし、ここでは、デリゲート メソッドへの呼び出しを取得していません。
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
トランザクション オブジェクトを識別し、Apple サーバーからコンテンツのダウンロードを再開できるようにします。「復元」オプションを書くのを手伝ってくれる人はいますか?
アップルによると、次のように書かれています。
// 非同期。現在のユーザーの完了済みトランザクションをキューに追加して、再完了させます。ユーザーは認証を求められます。オブザーバーは、0 個以上の -paymentQueue:updatedTransactions: を受け取り、その後に成功した場合は -paymentQueueRestoreCompletedTransactionsFinished: を、失敗した場合は -paymentQueue:restoreCompletedTransactionsFailedWithError: を受け取ります。部分的に成功した場合でも、一部のトランザクションは配信される可能性があります。
しかし、私にとっては、「paymentQueue:updatedTransactions」という呼び出しがまったくありません。「paymentQueueRestoreCompletedTransactionsFinished:」という呼び出しを取得しています。