我在我的应用中恢复应用内购买时遇到了问题
我已经在我的项目中应用了这行代码:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
但是它调用了这个函数
- (void)paymentQueue:(SKPaymentQueue*)queue restoreCompletedTransactionsFailedWithError:(NSError*)error
{
NSLog(@"error");
}
我必须做些什么才能避免出现此错误?并调用此函数:
- (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];
}
}
先谢谢你们!
答案 0 :(得分:3)
从模拟器测试时我遇到了同样的问题。在物理设备上试用它,因为模拟器上没有应用内购买。
答案 1 :(得分:2)
来自“应用程序内购买编程指南”:Store Kit无法在iOS模拟器中运行。在iOS模拟器中运行应用程序时,如果应用程序尝试检索付款队列,Store Kit会发出警告。必须在实际设备上测试商店。
答案 2 :(得分:0)
inapp购买可在模拟器中使用,因此您可以在模拟器中进行检查。