从托管内容重新下载单个应用内购买

时间:2013-07-19 11:48:34

标签: ios objective-c in-app-purchase

我有一个iOS应用程序,可以在应用程序购买中实现。 但是我有一个用例,用户需要重新下载以前购买的单个应用内购买的内容。

我无法使用restoreCompletedTransactions,因为它将恢复所有交易。在这种情况下,我想根据产品标识重新下载单个交易内容,而不会让用户再次进行“创伤”购买,而且您不会被收取费用。

谁知道怎么办?

1 个答案:

答案 0 :(得分:0)

我不确定是否可以在不提示用户输入密码的情况下启动还原,但是您可以选择要下载的一种产品,这样:

- (void)paymentQueue:(nonnull SKPaymentQueue *)queue updatedTransactions:(nonnull NSArray<SKPaymentTransaction *> *)transactions {
    for(SKPaymentTransaction *transaction in transactions){
        switch(transaction.transactionState){
            case SKPaymentTransactionStateRestored:
            {
                if ([transaction.payment.productIdentifier isEqualToString:MY_PRODUCT_ID])
                {
                    [queue startDownloads:transaction.downloads];
                }
            }
        }
    }
}