3

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

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

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

}

提前谢谢各位!

4

3 回答 3

3

从模拟器进行测试时,我遇到了同样的问题。在物理设备上试用它,因为模拟器上不提供应用内购买。

于 2012-07-27T21:52:32.123 回答
2

来自“In-App Purchase Programming Guide”:Store Kit 不在 iOS 模拟器中运行。在 iOS 模拟器中运行您的应用程序时,如果您的应用程序尝试检索支付队列,Store Kit 会记录一个警告。必须在实际设备上测试商店。

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

于 2012-09-13T10:04:17.070 回答
0

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

于 2013-05-08T10:49:43.320 回答