我正在编写一个使用inApp Purchase系统的应用程序,但找不到停止事务观察器方法的停止事务的方法。我需要这种行为,因为在低连通性的情况下,我想给用户停止与Apple服务器的连接的能力。我不希望在2或3分钟后出现一个或多个默认购买警报,因此,最好的解决方案是通过uibutton和Action完全停止付款过程。我已经尝试过类似的方法,但是没有用。
-(IBAction)ClosePayment{
for (SKPaymentTransaction *transaction in [[SKPaymentQueue defaultQueue]transactions]) {
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
}
此Action使应用程序崩溃,我也尝试过;
[[SKPaymentQueue defaultQueue]removeTransactionObserver:self];
这不会产生任何错误,但是根本不起作用。
最佳答案
在“购买”状态下似乎无法停止SKPaymentTransaction ...我也试图在没有TransactionObserver的情况下初始化相关的SKPayment对象(仅用于测试目的...)。如果没有TransactionObserver,则购买将无法正常工作,但仍会向用户显示有关inapp购买系统的第一条警报。文档中没有任何东西支持“停止”,所以我认为只有某些 private API才有可能。
关于iphone - 我如何停止SKPaymentTransaction?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13720136/