应用内购买报告无效

时间:2016-10-03 18:04:51

标签: ios objective-c xcode in-app-purchase

我们公司收到很多关于应用内购买和应用内购买恢复的报告,但没有做任何事情。大多数报告都提到,当购买完成或点击恢复按钮时,应用内不会发生任何操作。

我们所有的沙盒和实时应用程序测试都显示IAP功能完美无瑕。此外,绝大多数用户报告此功能没有任何问题。但是,如此大量的用户报告问题仍然很奇怪。

我们最近不得不在丢失之前的副本后从头开始重建我们的.xcodeproj文件,但所有其他文件保持不变。这可能会以某种方式导致问题吗?

根据我们报告提供的调试信息,该问题似乎会影响几乎所有设备和每个iOS版本。唯一的共同点就是它会影响我们在重建Xcode项目文件后生成的应用程序版本。

这是一个更高层次的问题,看看其他人是否正面临或已经面临这个问题。因此,并且因为代码看起来工作正常,所以没有提供代码,但如果特定代码示例有用,请告诉我。

以下评论中,以下是与恢复过程相关的一些相关代码:

- (void)restoreCompletedTransactions {
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}

- (void)restoreTransaction:(SKPaymentTransaction *)transaction {
    NSString *product_identifier = transaction.originalTransaction.payment.productIdentifier;
    if(product_identifier == nil)
        product_identifier = @"PRODUCT_IDENTIFIER";
    [self provideContentForProductIdentifier:product_identifier];
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}

1 个答案:

答案 0 :(得分:0)

iOS 9.0上的应用购买还原存在问题。 使用这一堆代码进行恢复。

- (void)restoreCompletedTransactions {
    [[SKPaymentQueue defaultQueue] addTransactionObserver:[yourclass sharedHelper]]; // Yourclass can be self, or can be where did you initialise your helper. 
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}