Iphone 应用内购买与服务器通信时如何管理界面?

Iphone 应用内购买与服务器通信时如何管理界面?,iphone,in-app-purchase,uiactivityindicatorview,Iphone,In App Purchase,Uiactivityindicatorview,我的(沙盒)应用程序内购买工作正常,但如何确定应用程序是否正忙于与服务器通信?我很难让我的正常ActivityIndicator在这种环境下工作,在整个过程中,应用程序的响应速度似乎是进进出出的。然后,如果用户在完成事务之前关闭屏幕,他们可能会陷入一个人为的循环中,如果他们在下载完成之前一直关闭屏幕,他们可能永远也得不到下载 任何示例或建议都将不胜感激。您应该通过响应委托方法来管理通信,并实现SKPaymentTransactionObserver 如果用户在交易完成前关闭应用程序,则该过程将/

我的(沙盒)应用程序内购买工作正常,但如何确定应用程序是否正忙于与服务器通信?我很难让我的正常ActivityIndicator在这种环境下工作,在整个过程中,应用程序的响应速度似乎是进进出出的。然后,如果用户在完成事务之前关闭屏幕,他们可能会陷入一个人为的循环中,如果他们在下载完成之前一直关闭屏幕,他们可能永远也得不到下载


任何示例或建议都将不胜感激。

您应该通过响应委托方法来管理通信,并实现SKPaymentTransactionObserver

如果用户在交易完成前关闭应用程序,则该过程将/应该在用户下次打开应用程序时恢复

应用程序应该在启动时将观察者与支付队列关联,而不是等到用户尝试购买项目。当应用程序终止时,事务不会丢失。下次启动应用程序时,Store Kit将继续处理事务。在应用程序初始化期间添加观察者可以确保所有事务都返回到应用程序


这不是拒绝,而是真正的质疑;苹果公司对这种情况没有什么建议吗?每当应用程序“激活”时,我都会监控UIApplicationIDBecomeActivityfication并实施SKPaymentTransactionObserver——但问题是,在整个购买过程中,应用程序会多次“激活”(似乎每次警报都会被解除)-因此在每次购买过程中,SKPaymentTransactionObserver都会被多次调用。。。是否有办法区分应用商店何时发送“变为活动”通知以及应用何时从多任务“变为活动”通知?是的,请查看UIApplicationLegate协议及其方法,要知道如何区分应用程序何时从后台变为活动状态或何时启动:在购买过程中,预计观察者会一直收到通知。它将知道购买何时开始,何时完成,以及开始和结束之间的所有转换。查看它的文档:当调用
-(void)paymentQueue:(SKPaymentQueue*)队列更新事务:(NSArray*)事务时,您必须监视每个事务的transactionState属性,以了解每个事务的情况。