应用内购买错误的恢复按钮

Posted

技术标签:

【中文标题】应用内购买错误的恢复按钮【英文标题】:restore button for in-app purchases error 【发布时间】:2012-07-26 13:37:43 【问题描述】:

在我的应用中恢复应用内购买时遇到问题

我已经在我的项目中应用了这行代码:

[[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];
    


提前谢谢大家!

【问题讨论】:

你遇到了什么错误? 其实先生,我希望我的应用内购买应该恢复,但它不调用函数 - (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue )queue 而是调用 - (void )paymentQueue:(SKPaymentQueue)queue restoreCompletedTransactionsFailedWithError:(NSError*)error NSLog(@"error"); 检查错误描述NSLog("%@",[error Description])所告诉的内容 以下是错误信息: Error Domain=SSServerErrorDomain Code=5002 "An unknown error has occurred" UserInfo=0xa12d1e0 NSLocalizedDescription=An unknown error has occurred 先生这是什么意思?谢谢 您是否为您的帐户设置了有效的借记卡或信用卡以进行购买? (我知道这只是恢复,但如果您的帐户设置不正确,您的帐户可能会出现此错误。) 【参考方案1】:

我在模拟器中测试时遇到了同样的问题。由于模拟器不支持应用内购买,请在物理设备上试用。

【讨论】:

【参考方案2】:

来自“应用内购买编程指南”:Store Kit 无法在 ios 模拟器中运行。在 iOS 模拟器中运行您的应用程序时,如果您的应用程序尝试检索支付队列,Store Kit 会记录一个警告。必须在实际设备上测试商店。

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/DevelopingwithStoreKit/DevelopingwithStoreKit.html

【讨论】:

不,应用内购买可以在模拟器中使用测试帐户进行测试。在您提供的链接中,您可以看到“Store Kit 可以在 iOS 模拟器中进行测试,托管内容下载除外。” 显然,这取决于您上次测试的时间。现在,即使使用测试帐户也无法使用。在它起作用之前。文档没有改变,我的代码也没有改变。【参考方案3】:

在模拟器中可以购买inapp,因此您可以在模拟器中查看。

【讨论】:

以上是关于应用内购买错误的恢复按钮的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 应用内购买 - 恢复按钮?

应用内购买 - 恢复购买

Google Play 应用内购买问题 - 错误您已经拥有此项目

iOS 11.1.2 中的 Apple 应用内购买错误

亚马逊应用内购买错误

检查用户是不是真的为应用内购买付费 [iOS, Swift]