我如何阻止SKPaymentTransaction?

时间:2012-12-05 09:39:34

标签: iphone ios in-app-purchase

我正在编写一个使用inApp Purchase系统的应用程序,但我无法找到一种方法来停止事务观察器方法的事务。我需要这种行为导致在低连接情况下我想给用户提供停止连接到苹果服务器的能力。我不希望同时出现一个或多个默认购买提醒可能在2或3分钟后......所以最好的解决方案是通过uibutton和Action完全停止支付程序。我尝试过类似的东西,但它不起作用。


    -(IBAction)ClosePayment{

       for (SKPaymentTransaction *transaction in  [[SKPaymentQueue defaultQueue]transactions])  {
          [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
       }

    }

此操作导致应用程序崩溃,我也尝试过了;

    [[SKPaymentQueue defaultQueue]removeTransactionObserver:self];

这不会产生任何错误,但根本不起作用。

1 个答案:

答案 0 :(得分:3)

在“购买”状态期间似乎无法停止SKPaymentTransaction ...我还尝试在没有TransactionObserver的情况下初始化相关的SKPayment对象(仅用于测试目的......)。如果没有TransactionObserver,购买将无法正常工作,但inapp购买系统的第一个警报仍将显示给用户。文档中没有任何内容支持“停止”,所以我认为可能只有一些私有API才有可能。