用户购买物品后,通过输入电子邮件和密码并付款,方法updatedTransactions永远不会被调用。该项目是定期购买,但没有调用updatedTransactions方法我不能执行代码将项目添加到应用程序。我注意到这个项目是被购买的,因为如果我运行代码来恢复购买的项目,一切都会很好,产品会被安装到应用程序中。为什么updateTransactions从未调用过?
下面是我复制到购买该产品的代码:
-(IBAction)buyProduct:(id)sender {
NSLog(@"Purchasing: %@", self.product.productIdentifier);
SKPayment *payment = [SKPayment paymentWithProduct:self.product];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
下面的代码来恢复产品:
-(IBAction)restoreProduct:(id)sender {
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
我注意到,在这最后的一段代码,我有以下line:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
我是否应该在购买零件中添加此行?
退房苹果的StoreKitSuite样本:https://developer.apple.com/library/ios/samplecode/sc1991/简介/ Intro.html – Lefteris