3

私は iOS を初めて使用しますが、どの完了したトランザクションのユーザーを復元したいかを指定する可能性はありますか? 今私は使用しています:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

そして、復元したいトランザクションを正確に伝えるものは何も見つかりません。

ありがとう!

4

1 に答える 1

0

あなたは正しい方向に進んでいます。追加

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

そして、デリゲート関数paymentQueueRestoreCompletedTransactionsFinishedを追加します。この機能では、特定の製品IDを追加できます。

- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
    NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init];

    //NSLog(@"received restored transactions: %i", queue.transactions.count);
    for (SKPaymentTransaction *transaction in queue.transactions)
    {
        NSString *productID = transaction.payment.productIdentifier;
        [purchasedItemIDs addObject:productID];

        if([productID isEqualToString:IN_APP_KEY_UNLOCK_SHIP_2])
        {
            //NSError *error = nil;
            [[NSNotificationCenter defaultCenter] postNotificationName:@"ship2PurchaseRestored" object:nil];
        }
    }

}
于 2013-02-19T11:01:18.490 に答える