如何在sk支付中检测未完成的交易

时间:2013-08-20 14:45:11

标签: iphone ios in-app-purchase

我正在Inapp购买并进入我的应用程序我想检测UnFinished或未下载的产品交易所以我可以清除它们并告诉用户下载它。

我试图通过这种方式检测待处理的交易,但它失败了。

 [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
 NSArray *pendingarray= [[SKPaymentQueue defaultQueue] transactions];
 if(pendingarray.count>0)
 {
   NSLog(@"Pending array count is %d",[[SKPaymentQueue defaultQueue] transactions].count);
   [[SKPaymentQueue defaultQueue] cancelDownloads:pendingarray];
   }

我想从Queue清除以前的所有交易。我可以这样做吗。在我的情况下如果我的应用程序在下载完成之前崩溃而不是下次当你尝试购买相同的产品而不是开始下载并自动验证收据那么如何从SKpayment Observer清除unFinished Product队列。 任何帮助表示赞赏 谢谢

1 个答案:

答案 0 :(得分:0)

如果要完成队列中的所有交易,请检查:How to remove a very old, defunct in-app purchase from the transaction queue

如果这就是您想要的,那么建议您下次再搜索一下。

P.S。:您因为试图将-cancelDownloads:SKPaymentTransaction个对象一起使用而崩溃,但它需要一组SKDownload个对象。