2012-12-05 24 views
0

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


-(IBAction)ClosePayment{ 

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

    } 

此行动应用程序崩溃,我也试着;

[[SKPaymentQueue defaultQueue]removeTransactionObserver:self]; 

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

回答

3

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

相关问题