我正在编写一个使用inApp购买系统的应用程序,但我找不到一种方法来阻止事务处理,而不是事务观察器方法。我需要这种行为原因,在低连接情况下,我想让用户停止与苹果服务器的连接。我不希望同时出现一个或多个默认购买警报可能在2或3分钟后.因此,最好的解决办法是完全停止付款程序,通过一个按钮和一个行动。我试过这样的方法,但不起作用。
-(IBAction)ClosePayment{
for (SKPaymentTransaction *transaction in [[SKPaymentQueue defaultQueue]transactions]) {
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
}这个动作崩溃了应用程序,我也试过了;
[[SKPaymentQueue defaultQueue]removeTransactionObserver:self];这不会产生任何错误,但是根本不起作用。
发布于 2012-12-06 12:00:13
似乎不可能阻止SKPaymentTransaction在“购买”状态.我还尝试在没有TransactionObserver的情况下初始化相关的TransactionObserver对象(仅用于测试目的.)。如果没有TransactionObserver,购买将无法正常工作,但inapp购买系统的第一次警报仍将显示给用户。文档中没有任何东西支持“停止”,所以我认为也许只有在一些私有API中才有可能。
https://stackoverflow.com/questions/13720136
复制相似问题