我用IAP制作了我的第一个应用程序 this tutorial
我为InAppPurchaseManager制作了一个单身人士,增加了3个购买,方法,并且一切都很棒。问题是我的应用程序是一个库,用户有9个项目免费,之后他们支付了18个项目。如果系统ViewController
正在显示,则如何成功完成购买,如何检查我的UIAletrView
?或者我可以在ViewController
中检索此提醒?
对于我正在使用UICollectionView
的图库,如果已完成购买,我需要重新加载
答案 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。购买将被视为真实,但不会进行任何金融交易。