1

我正在编写一个使用 inApp 购买系统的应用程序,但我找不到通过事务观察器方法停止事务的方法。我需要这种行为,因为在连接性较低的情况下,我想让用户能够停止与苹果服务器的连接。我不希望在 2 或 3 分钟后同时出现一个或多个默认购买提醒...所以最好的解决方案是通过 uibutton 和 Action 完全停止付款过程。我已经尝试过这样的事情,但它不起作用。


    -(IBAction)ClosePayment{

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

    }

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

    [[SKPaymentQueue defaultQueue]removeTransactionObserver:self];

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

4

1 回答 1

4

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

于 2012-12-06T12:00:13.890 回答