在App购买iOS

时间:2013-02-04 10:31:53

标签: iphone ios xcode in-app-purchase

我用IAP制作了我的第一个应用程序 this tutorial

我为InAppPurchaseManager制作了一个单身人士,增加了3个购买,方法,并且一切都很棒。问题是我的应用程序是一个库,用户有9个项目免费,之后他们支付了18个项目。如果系统ViewController正在显示,则如何成功完成购买,如何检查我的UIAletrView?或者我可以在ViewController中检索此提醒?

对于我正在使用UICollectionView的图库,如果已完成购买,我需要重新加载

1 个答案:

答案 0 :(得分:0)

您可以使用此委托方法检查交易状态。

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

    for (SKPaymentTransaction *transaction in transactions)
    {
        NSLog(@"%i",[transaction transactionState]);
        switch (transaction.transactionState)
        {
            case SKPaymentTransactionStatePurchased:
                // [self completeTransaction:transaction];
                break;
            case SKPaymentTransactionStateFailed:
                // [self failedTransaction:transaction];
                break;
            case SKPaymentTransactionStateRestored:
                // [self restoreTransaction:transaction];
            case SKPaymentTransactionStatePurchasing: {
                // if([self.delegate respondsToSelector:@selector(inProcessPurchasingTransaction)])
                // [self.delegate inProcessPurchasingTransaction];
                }
            default:
                break;
        }
    }
}

以下委托方法将在事务成功时触发:

 - (void) completeTransaction: (SKPaymentTransaction *)transaction

如果失败:

- (void) failedTransaction:(SKPaymentTransaction *)transaction

出于测试目的,您需要创建测试用户帐户。在对应用程序进行编程之后,您可能希望测试该应用程序。您可以使用这些帐户登录App Store。购买将被视为真实,但不会进行任何金融交易。